我在针对常量值测试首选项中设置的语言环境时遇到了这个问题:
(new Locale("en_US")).equals(Locale.US) == false
当查看详细信息时,结果发现新的Locale("en_us")
返回一个语言代码为“en_us”的对象,一个国家代码为零长度字符串,而Locale.US
返回一个带有语言代码的对象“en”和国家/地区代码“US”。 Locale("en","US")
返回与Locale.US相同的结果,因此很容易避免此问题,但这是Locale构造函数的预期行为吗?
答案 0 :(得分:1)
语言环境构造函数正在按预期工作。您可以像这样比较语言环境对象:
(new Locale(“en_US”))。toString()。equalsIgnoreCase((Locale.US).toString())
它会给你预期值