[API] java.util.ListResourceBundle抽象クラス

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次元配列を返す
EnumerationgetKeys()キーのEnumerationを返す
ObjecthandleGetObject(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");  //ぶどう

関連記事

コメント

タイトルとURLをコピーしました