次のような構造を使用するのは信頼できるのだろうか。
private static final Map<String, String> engMessages;
private static final Map<String, String> rusMessages;
static {
engMessages = new HashMap<String, String> () {{
put ("msgname", "value");
}};
rusMessages = new HashMap<String, String> () {{
put ("msgname", "значение");
}};
}
private static Map<String, String> msgSource;
static {
msgSource = engMessages;
}
public static String msg (String msgName) {
return msgSource.get (msgName);
}
初期化するブロックの前に初期化ブロックが実行されるNullPointerException
ため、取得する可能性はありますか?msgSource
engMessages
msgSource
(上部の初期化ブロックの最後で初期化を行わない理由について:好みの問題です。説明されている構造が信頼できない場合は、そうします)