戻り

2012-04-02 9 views
2

可能性の重複:戻り


Returning in a static initializer

Javaで静的初期化子を終了する方法は、以下のコードのようなものは、(コンパイルされません)あります

public class Test { 

    private static int i = 1; 

    static { 
     if (i == 0) { 
      return; // DOESN'T COMPILE 
     } 
     i = 0; 
    } 
} 

ps:はいわかりますが、例は意味がありません。i == 0は常にこの時点では偽であるが、それはポイントではない!

+0

使用 'でSystem.exit(0)'を代わりに。 –

+1

@ Eng.Fouad私は終了したくない、ちょうどコードの残りの部分に進む - 重複した答えはなぜそれが可能ではない、ありがとう。 – assylias

+1

OKをクリックし、インスタンスブロックでラベルを使用し、そのラベルを分割します。 'static {label:{if(i == 0)ブレークラベル。 i = 0}} ' –

答えて

2

は、迅速かつ汚い方法はforループを誤用、ことと、フロー制御のためにそのbreakステートメントを使用します。

static 
{ 
    int i = 0; 

    for(;;) 
    { 
     if(i == 0) 
      break; 
     // more code 
     // more conditions 
     // don't forget the final break 
     break; 
    } 
} 
+0

ラベルを使用しているクリーナー:)私はこの回答を+1したいが、今日の残りの部分については投票を中止している。 –

+2

:-)だから、私は速くて汚いと言った。^^ – Neet