現在、ResourceBundle を使用しているアプリのリソースを作成しています。問題は、リソースをディスパッチするための現在のコードでは、必要なたびにリソース バンドルのインスタンスを作成する必要があるということです。リソースを何度も何度もロードすることになるため、これは良い考えではないと推測できます。 .
2番目の解決策は、バンドルを多数に分割することですが、バンドルには2〜3個の文字列しかなく、15個のバンドルしかありません。
私の質問は次のとおり です。すべてのリソースを単一の静的クラスに単純にロードし、そこからアクセスする方法はありますか。
私はこの小さなコードを作成しましたが、私にとってはうまくいくようですが、その品質には疑問があります.
public class StaticBundle
{
private final static ResourceBundle resBundle =
ResourceBundle.getBundle("com.resources");
public final static String STRING_A = resBundle.getString("KEY_A");
public final static String STRING_B = resBundle.getString("KEY_B");
public final static String STRING_C = resBundle.getString("KEY_C");
}
これにより、プロジェクトのどこでも値を呼び出しStaticBundle.STRING_A
て取得できますが、バンドルはクラス自体と同時に初期化されるため...プログラムが適切なローカルをロードする時間がない可能性が非常に高いです.環境設定。
これを行う良い方法または他の可能な解決策はありますか?
ありがとうございました