Module  java.base
软件包  java.util

Class ListResourceBundle

  • 已知直接子类:
    AccessibleResourceBundle


    public abstract class ListResourceBundle
    extends ResourceBundle
    ListResourceBundle是一个抽象类ResourceBundle管理资源,以方便和易于使用的列表区域设置。 有关资源束的更多信息,请参阅ResourceBundle

    子类必须覆盖getContents并提供一个数组,其中数组中的每个项都是一对对象。 每对的第一个元素是键,它必须是String ,第二个元素是与该键相关联的值。

    以下example显示了基本名称为“MyResources”的资源束系列的两个成员。 “MyResources”是捆绑包系列的默认成员,“MyResources_fr”是法语成员。 这些成员基于ListResourceBundle (相关的example显示了如何根据属性文件向该系列添加包)。 此示例中的键的格式为“s1”等。实际的键完全取决于您的选择,只要它们与您在程序中使用的键相同即可从包中检索对象。 密钥区分大小写。

    
     public class MyResources extends ListResourceBundle {
         protected Object[][] getContents() {
             return new Object[][] {
             // LOCALIZE THIS
                 {"s1", "The disk \"{1}\" contains {0}."},  // MessageFormat pattern
                 {"s2", "1"},                               // location of {0} in pattern
                 {"s3", "My Disk"},                         // sample disk name
                 {"s4", "no files"},                        // first ChoiceFormat choice
                 {"s5", "one file"},                        // second ChoiceFormat choice
                 {"s6", "{0,number} files"},                // third ChoiceFormat choice
                 {"s7", "3 Mar 96"},                        // sample date
                 {"s8", new Dimension(1,5)}                 // real object, not just string
             // END OF MATERIAL TO LOCALIZE
             };
         }
     }
    
     public class MyResources_fr extends ListResourceBundle {
         protected Object[][] getContents() {
             return new Object[][] {
             // LOCALIZE THIS
                 {"s1", "Le disque \"{1}\" {0}."},          // MessageFormat pattern
                 {"s2", "1"},                               // location of {0} in pattern
                 {"s3", "Mon disque"},                      // sample disk name
                 {"s4", "ne contient pas de fichiers"},     // first ChoiceFormat choice
                 {"s5", "contient un fichier"},             // second ChoiceFormat choice
                 {"s6", "contient {0,number} fichiers"},    // third ChoiceFormat choice
                 {"s7", "3 mars 1996"},                     // sample date
                 {"s8", new Dimension(1,3)}                 // real object, not just string
             // END OF MATERIAL TO LOCALIZE
             };
         }
     }
     

    如果同时使用多个线程,则ListResourceBundle子类的实现必须是线程安全的。 该类中的方法的默认实现是线程安全的。

    从以下版本开始:
    1.1
    另请参见:
    ResourceBundlePropertyResourceBundle
    • 构造方法详细信息

      • ListResourceBundle

        public ListResourceBundle​()
        唯一的构造函数。 (用于子类构造函数的调用,通常是隐式的。)
    • 方法详细信息

      • handleGetObject

        public final Object handleGetObject​(String key)
        描述从类别复制: ResourceBundle
        从此资源包获取给定键的对象。 如果此资源束不包含给定键的对象,则返回null。
        Specified by:
        handleGetObject中的 ResourceBundle
        参数
        key - 所需对象的关键
        结果
        给定键的对象,或null
      • getContents

        protected abstract Object[][] getContents​()
        返回一个数组,其中每个项目是Object数组中的一对对象。 每对的第一个元素是键,它必须是String ,第二个元素是与该键相关联的值。 详见课程说明。
        结果
        表示键值对的 Object数组的数组。