有谁知道一个免费提供的 java 1.5 包,它以枚举或 EnumMap 的形式提供 ISO 3166-1 国家代码列表?具体来说,我需要“ISO 3166-1-alpha-2 代码元素”,即 2 个字符的国家代码,如“us”、“uk”、“de”等。创建一个很简单(虽然很乏味),但如果在 apache 领域或类似的地方已经有一个标准的,它会节省一点时间。
最佳答案
现在,在 Apache 许可证版本 2.0 下,GitHub 上提供了作为 Java 枚举的国家代码 (ISO 3166-1 alpha-2/alpha-3/numeric ) 列表的实现。
示例:
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 月 9 日
CountryCode 枚举与其他 Java 枚举、LanguageCode (ISO 639-1)、LanguageAlpha3Code (ISO 639-2)、LocaleCode、ScriptCode (ISO 15924) 和 CurrencyCode (ISO 4217) 一起打包到 com.neovisionaries.i18n 并注册到Maven 中央存储库。
Maven
<dependency>
<groupId>com.neovisionaries</groupId>
<artifactId>nv-i18n</artifactId>
<version>1.29</version>
</dependency>
Gradle
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"
关于java - 是否有 ISO 3166-1 国家代码的开源 Java 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/139867/