是否有ISO 3166-1国家代码的开源java枚举

有谁知道一个免费提供的java 1.5软件包,它提供了ISO 3166-1国家代码列表作为枚举或EnumMap?具体来说,我需要“ISO 3166-1-alpha-2代码元素”,即2个字符的国家代码,如“us”,“uk”,“de”等。创建一个非常简单(虽然乏味),但如果在apache land或类似的地方已经存在一个标准,它将节省一点时间。


答案 1

现在,国家/地区代码(ISO 3166-1 alpha-2/alpha-3/numeric)列表作为 Java 枚举的实现在 Apache 许可证版本 2.0 下的 GitHub 上可用。

例:

CountryCode cc = CountryCode.getByCode("JP");

System.out.println("Country name = " + cc.getName());                // "Japan"
System.out.println("ISO 3166-1 alpha-2 code = " + cc.getAlpha2());   // "JP"
System.out.println("ISO 3166-1 alpha-3 code = " + cc.getAlpha3());   // "JPN"
System.out.println("ISO 3166-1 numeric code = " + cc.getNumeric());  // 392

最后更新 2016-6月-09

CountryCode enum与其他Java枚举,LanguageCode(ISO 639-1),LanguageAlpha3Code(ISO 639-2),LocaleCode,ScriptCode(ISO 15924)和CurmencyCode(ISO 4217)一起打包到com.neovisionaries.i18n中,并注册到Maven Central Repository中。

马文

<dependency>
  <groupId>com.neovisionaries</groupId>
  <artifactId>nv-i18n</artifactId>
  <version>1.29</version>
</dependency>

格雷德尔

dependencies {
  compile 'com.neovisionaries:nv-i18n:1.29'
}

GitHub

https://github.com/TakahikoKawasaki/nv-i18n

Javadoc

https://takahikokawasaki.github.io/nv-i18n/

OSGi

Bundle-SymbolicName: com.neovisionaries.i18n
Export-Package: com.neovisionaries.i18n;version="1.28.0"

答案 2

此代码在 Sun Java 6 中获取 242 个国家/地区:

String[] countryCodes = Locale.getISOCountries();

尽管ISO网站声称有249个ISO 3166-1-alpha-2代码元素,尽管javadoc链接到相同的信息。


推荐