【发布时间】:2013-12-05 09:51:08
【问题描述】:
我在针对常量值测试首选项中设置的语言环境时遇到了这个问题:
(new Locale("en_US")).equals(Locale.US) == false
查看详细信息时发现,new Locale("en_us") 返回一个语言代码为“en_us”的对象和一个零长度字符串的国家/地区代码,而Locale.US 返回一个语言代码为“en”的对象,并且国家代码“美国”。 Locale("en","US") 返回与 Locale.US 相同的结果,因此很容易避免此问题,但这是 Locale 构造函数的预期行为吗?
【问题讨论】:
-
那是错误的构造函数。单个参数定义语言,en_US 与预期的 US 相比。如您所述,使用 Locale(String language, String country)。
标签: android