在区域设置中设置语言

时间:2013-08-23 12:41:23

标签: java runtime locale

我想知道为什么以下编译:

Locale aLocale = new Locale.Builder().setLanguage("trollolo").setRegion("CA").build();
System.out.println(aLocale.getLanguage());

因为“trollolo”不是一种语言。为什么它不会返回运行时异常,而是在调用getLanguage()时甚至返回“trollolo”?

1 个答案:

答案 0 :(得分:1)

这是允许的行为。来自javadoc

  

Builder只检查单个字段是否满足语法要求(格式正确),但不验证值本身。

语法(IETF BCP 47)在Tags for Identifying Languages

中定义