【问题标题】:Java Locale case sensitivityJava 语言环境区分大小写
【发布时间】:2014-02-18 16:43:49
【问题描述】:

我有以下代码来显示当前语言环境

System.out.println(Locale.getDefault());
System.out.println(new Locale("en_US"));

上面给出的输出如下

en_US
en_us

如何构造一个提供 en_US 的 Locale 实例?

编辑

我之所以问这个问题是因为如果在此期间发生任何异常,当我尝试将其设置为默认语言环境时,我的资源 Messages_en_US.properties 将被忽略

ResourceBundle.getBundle("Messages", new Locale("en_US"));

【问题讨论】:

  • 你想要一个新的 en_US Locale 对象还是Java的en_US Locale
  • 查看我编辑的问题,我希望它能澄清它。
  • 您尝试过 Locale.US 吗??

标签: java localization


【解决方案1】:
new Locale("en_US")

是语言代码为"en_us"的语言环境。

new Locale("en", "US")

是语言代码为"en",国家代码为"US"的语言环境。

javadoc 表示单参数构造函数:

语言环境

public Locale(String language)

从语言代码构造语言环境。此构造函数将语言值标准化为小写。

【讨论】:

    【解决方案2】:

    试试这个:

    docs.oracle.com/javase/tutorial/i18n/locale/create.html

    System.out.println(Locale.forLanguageTag("en-US"));
    

    【讨论】:

    • 警告:forLanguageTag 仅在 JDK7 中可用。
    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    相关资源
    最近更新 更多