繁体   English   中英

Android Locale 国家名称到国家代码

[英]Android Locale Country name to Country code

我有一些国家变量,例如“法国”。 我想得到国家代码,在这个例子中,我想得到“FR”或“fr”。

我试过:

 Locale locale = new Locale("", "FRANCE");
 Log.e("test", locale.getCountry());

但它返回:

 FRANCE

我缺少什么?

谢谢 !

您可以使用内置的 Locale 类:

Locale l = new Locale("", "CH");
System.out.println(l.getDisplayCountry());

例如打印“瑞士”。 请注意,我没有提供语言。

因此,您可以为反向查找做的是从可用国家/地区构建地图:

public static void main(String[] args) throws InterruptedException {
    Map<String, String> countries = new HashMap<>();
    for (String iso : Locale.getISOCountries()) {
        Locale l = new Locale("", iso);
        countries.put(l.getDisplayCountry(), iso);
    }

    System.out.println(countries.get("Switzerland"));
    System.out.println(countries.get("Andorra"));
    System.out.println(countries.get("Japan"));
}

这篇文章中找到答案。 希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM