Wikipediaによると、空白の最終変数は、宣言に定義時に初期化子がない最終変数です。空白の最終変数を含むswitch文
同時に、switch case文の値はコンパイル時の定数値でなければなりません。
2つの確約上記1として、私は以下のコードスニペットの両方が問題なくコンパイルを期待する、しかし、最初のものだけではありません:
final int y = 1;
switch(1) {
case y:
}
と
final int y;
y = 1;
switch(1) {
case y:
}
は持っていないならJavaコンパイラは、空白の最終変数が割り当てられていることを確認し、エラーなしでコードをコンパイルするために、2番目の例でフロー分析を実行しますか?
チェックこの回答https://stackoverflow.com/questions/3827393/java-switch-statement-constant-expression-required-but-it-is-constant#3827424実際 は、その質問の重複のように思えます –