Java 区域设置顺序

Java 区域设置顺序,java,localization,internationalization,locale,resourcebundle,Java,Localization,Internationalization,Locale,Resourcebundle,区域设置的使用顺序到底是什么? 我有3个属性文件: 酒店 name=The Dolphin age=0 name=Dolly age=4 name=Dolly 海豚酒店 name=The Dolphin age=0 name=Dolly age=4 name=Dolly 海豚酒店 name=The Dolphin age=0 name=Dolly age=4 name=Dolly 我的代码是: 5: Locale fr = new Locale("fr"); 6: Local

区域设置的使用顺序到底是什么? 我有3个属性文件:

酒店

name=The Dolphin
age=0
name=Dolly
age=4
name=Dolly
海豚酒店

name=The Dolphin
age=0
name=Dolly
age=4
name=Dolly
海豚酒店

name=The Dolphin
age=0
name=Dolly
age=4
name=Dolly
我的代码是:

5: Locale fr = new Locale("fr");

6: Locale.setDefault(new Locale("en", "US"));

7: Resource Bundle b = ResourceBundle.getBundle("Dolphins", fr);

8: b.getString("name");

9: b.getString("age");
代码将默认区域设置为Dolphines\u en,那么为什么使用Dolphins.properties?我遗漏了什么或误解了什么


提前感谢。

选择捆绑链时使用默认区域设置。这意味着,当您不指定它时将使用它:
ResourceBundle.getBundle(“Dolphines”)
或者当您指定捆绑不存在的区域设置时:
ResourceBundle.getBundle(“Dolphines”,new locale(“cs”)

但是,当选择捆绑包时,将不再使用默认区域设置进行值选择。这意味着当Dolphins\u fr.properties中不存在键
age
时,它将使用默认bundle Dolphins.properties中的值

注意:如果该键不在dolphine.properties中,它将抛出
MissingResourceException


更新:我觉得我在过去看到了相同的代码,最终得到了它。您可以查看《Jeanne Boyarsky-OCP学习指南》或此处,其中的代码和原因完全相同,并以更好的英语进行了解释。

(“一旦找到结果资源包,其父链将被实例化…”)欢迎您,希望对您有所帮助。那么你能接受这个答案吗?谢谢