我是Java Android的新手。
我想使用Locale中的国家/地区代码获取国家/地区名称(字符串)(参考文献ISO 3166-1 numeric)
尝试做类似的事情(其中[...]。getCountry()返回int 826):
Locale countryName = new Locale("", String.valueOf(profile.getPersonnalInformation().getAddress().getCountry()));
并使用以下内容获取国家/地区的名称:countryName.getDisplayCountry()
它应该通常会让我“英国”但不幸的是我有826。
我该怎么做?
提前感谢您的帮助,
答案 0 :(得分:4)
现在,国家/地区代码(ISO 3166-1 alpha-2 / alpha-3 / numeric)列表的实现,因为Java枚举可以在Apache许可证版本2.0的GitHub上获得。
示例:强>
int c_code=profile.getPersonnalInformation().getAddress().getCountry());// 392
CountryCode cc = CountryCode.getByCode(c_code);
String country_name=cc.getName(); // "Japan"
<强>摇篮强>
dependencies {
compile 'com.neovisionaries:nv-i18n:1.20'
}
<强> Github上强>
答案 1 :(得分:1)
你必须获得countricode字符串(2或3个字母)才能使用它。 github上有一个开源库,可以为你完成。见Is there an open source java enum of ISO 3166-1 country codes 或者只从https://subversivebytes.wordpress.com/2013/10/07/java-iso-3166-java-enum/
获取枚举