最終変数とコンパイル時定数の違いは何ですか?
次のコードを検討してください
final int a = 5;
final int b;
b=6;
int x=0;
switch(x)
{
case a: //no error
case b: //compiler error
}
これは何を意味するのでしょうか?final 変数にはいつ、どのように値が割り当てられますか? 実行時に何が起こり、コンパイル時に何が起こるのでしょうか? switch にコンパイル時定数を与える必要があるのはなぜですか? コンパイル時定数を必要とするJavaの他の構造は何ですか?