密钥是否在资源包中是唯一的?

时间:2012-10-26 08:11:07

标签: java properties resourcebundle

ResourceBundlepublic final String[] getStringArray(String key)的用途是什么? 属性文件中的keys不是唯一的吗?这会不会返回多个值?如果不是为什么它会返回一个数组?

2 个答案:

答案 0 :(得分:1)

如果您仔细阅读ResourceBundle的文档,则说明: -

  

资源包属于其成员共享基础的家庭   name,但其名称还有其他标识的组件   他们的地区。

另外: -

  

资源包包含键/值对。键唯一标识a   捆绑包中特定于语言环境的对象。

因此,密钥仅对特定区域设置是唯一的。在两个不同的区域设置中,您可以使用相同的键。这就是返回类型为String[]的原因。

对于方法 - getStringArray: -

  

从此资源包或一个获取给定键的字符串数组   它的父母。

答案 1 :(得分:0)

ResourceBundle中的值不必是String,值可以是任何对象。在这种情况下,您希望它是String[]

从您链接的javadoc:

键:

  

资源包包含键/值对。键唯一标识a   捆绑包中特定于语言环境的对象。

值:

  

键始终是字符串。在这个例子中,键是“OkKey”和   “CancelKey”。在上面的例子中,值也是字符串 - “OK”   和“取消” - 但他们不一定是。值可以是任何类型的   对象