我怎样才能得到来自Locale.getISOCountries()的“en_US”;

时间:2014-04-04 22:46:40

标签: java locale iso country

如何获得例如" EN_US"来自Locale.getISOCountries(); =>不是来自Locale.getAvailableLocales() 因为使用Locale.getAvailableLocales()我并不是所有的Iso3县代码。有一些是NULL。

我试试

for (String countryCode : locales) {
    Locale obj = new Locale("", countryCode);
    obj.toString()

但我只得到了的 _us

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

下面的代码应该可行。如果需要en_US,则必须在区域设置(语言,国家/地区)中指定语言。对于美国,有两种官方语言,西班牙语和英语。因此,以下代码将提供两个结果

Locale[] localeArray = Locale.getAvailableLocales();

for (Locale countryLocale : localeArray) {
Locale obj = new Locale(countryLocale.getLanguage(), countryLocale.getCountry());
obj.toString();

if (countryLocale.getCountry().equalsIgnoreCase("US"))
System.out.println(obj.toString());
}