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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (111)

有没有人知道免费提供的java 1.5包,它提供了ISO 3166-1国家代码列表作为enum或EnumMap?具体而言,我需要“ISO 3166-1-alpha-2代码元素”,即“us”,“uk”,“de”等2个字符的国家代码。创建一个足够简单(尽管乏味),但如果有一个标准的已经出现在阿帕奇地区或类似的地方,这将节省一点时间。

提问于
用户回答回答于

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

String[] countryCodes = Locale.getISOCountries();

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

用户回答回答于

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

例:

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

Last Edit 2016-Jun-09

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

Maven的

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

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

GitHub上

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

的Javadoc

http://takahikokawasaki.github.com/nv-i18n/

OSGi的

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

扫码关注云+社区