【初心者】Java質問・相談スレッド54【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0392デフォルトの名無しさん
NGNGpublic static final intな変数を、処理に応じた値に初期化したいと考えています。
その処理は例外が発生する可能性があるので、次のようなスタティックイニシャライザを書きました。
(実際はtryブロックで処理をし、tryブロックの最終行で初期化していますが、
初期化部分以外を削除して、下記のコードにしても同様のエラーが出ます)
class Test {
public static final int VALUE;
static {
try {
VALUE = 1;
} catch (Exception e) {
VALUE = -1;
}
}
}
これをコンパイルすると
Test.java:7: variable VALUE might already have been assigned
VALUE = -1;
と怒られます。7行目をコメントアウトすると、予想通り
Test.java:1: variable VALUE might not have been initialized
class Test {
と怒られます。
どのように書けばよいのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています