java.util.ListResourceBundleは、リソースをクラスで定義する時に使用する抽象クラスです。
java.util.ListResourceBundleの特徴
java.util.ListResourceBundleは以下のように実装します。
- ListResourceBundle抽象クラスを継承してgetContents()メソッドを実装する。
- リソースはキーと値をセットにした配列として定義する。
java.util.ListResourceBundleの継承・実装
継承クラス
・java.lang.Object
・java.util.ResourceBundle
・java.util.ListResourceBundle
実装インターフェース
・なし
導入バージョン
・JDK1.1
java.util.ListResourceBundleのAPI
コンストラクタ名 | 説明 |
---|---|
ListResourceBundle() | インスタンスを生成する |
戻値型 | メソッド | 抽象 | 説明 |
---|---|---|---|
Object[][] | getContents() | 〇 | オブジェクトの2次元配列を返す |
Enumeration | getKeys() | キーのEnumerationを返す | |
Object | handleGetObject(String key) | キーから値を取得する | |
Set<String> | handleKeySet() | キーのSetを返す |
java.util.ListResourceBundleサンプル
英語用と日本語用のリソースバンドルクラスを定義して呼び出す例です。
- (ListResourceBundleクラスの定義)
-
import java.util.ListResourceBundle; //「英語・アメリカ」用のリソースバンドル public class ItemResourceBundle_en_US extends ListResourceBundle { @Override protected Object[][] getContents() { return new Object[][] { {"item01", "Apple"}, {"item02", "Orange"}, {"item03", "Grape"} }; } } //「日本語・日本」用のリソースバンドル public class ItemResourceBundle_ja_JP extends ListResourceBundle { @Override protected Object[][] getContents() { return new Object[][] { {"item01", "りんご"}, {"item02", "みかん"}, {"item03", "ぶどう"} }; } }
- (ListResourceBundleクラスの定義を呼び出す例)
-
//ロケールをアメリカで呼び出した場合 Locale loc = Locale.US; ResourceBundle bundle = ResourceBundle.getBundle("ItemResourceBundle", loc); String i1 = bundle.getString("item01"); //Apple String i2 = bundle.getString("item02"); //Orange String i3 = bundle.getString("item03"); //Grape //ロケールを日本で呼び出した場合 Locale loc = Locale.JP; ResourceBundle bundle = ResourceBundle.getBundle("ItemResourceBundle", loc); String i1 = bundle.getString("item01"); //りんご String i2 = bundle.getString("item02"); //みかん String i3 = bundle.getString("item03"); //ぶどう //日本の環境からロケールを明示せず呼び出した場合 ResourceBundle bundle = ResourceBundle.getBundle("ItemResourceBundle"); String i1 = bundle.getString("item01"); //りんご String i2 = bundle.getString("item02"); //みかん String i3 = bundle.getString("item03"); //ぶどう
コメント