首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java代码将国家代码alpha-2 (IN)转换为alpha 3 (IND)

Java代码将国家代码alpha-2 (IN)转换为alpha 3 (IND)
EN

Stack Overflow用户
提问于 2010-09-01 10:40:42
回答 4查看 22.5K关注 0票数 16

使用Java,是否有一种快速的方法将alpha-2国家代码(IN或GB)转换为alpha-3等效代码(IND或GBR)?

我可以得到阿尔法-2密码和:

String[]码= java.util.Locale.getISOLanguages();

这不是一个问题,实际上我的应用程序读取alpha-2代码,但是我需要输出alpha-3等价物。

有类似的方法可以得到alpha-3码吗?

有什么建议吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-01 10:50:09

这很管用-

代码语言:javascript
复制
    Locale locale = new Locale("en","IN");
    System.out.println("Country=" + locale.getISO3Country());

输出:

代码语言:javascript
复制
Country=IND
票数 19
EN

Stack Overflow用户

发布于 2010-09-01 10:49:12

是的,简单地创建一个区域设置并从区域设置获取if:

代码语言:javascript
复制
String alpha3Country = new Locale("en", alpha2County).getISO3Country();

getISOLanguages()返回语言代码(小写),getISOCountries()返回国家代码(大写)

票数 13
EN

Stack Overflow用户

发布于 2010-09-01 10:55:05

由于您在代码中阅读,您不能硬编码它们,您应该创建一个查找表来转换为ISO代码。

代码语言:javascript
复制
public static void main(String[] args) {
        // setup
        Locale[] availableLocales = Locale.getAvailableLocales();
        HashMap<String, String> map = new HashMap<String, String>();
        for ( Locale l : availableLocales ) {
            map.put( l.getCountry(), l.getISO3Country() );
        }
        // usage
        System.out.println( map.get( "IN" ) );
        System.out.println( map.get( "GB" ) );
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3617160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档