使用Java,是否有一种快速的方法将alpha-2国家代码(IN或GB)转换为alpha-3等效代码(IND或GBR)?
我可以得到阿尔法-2密码和:
String[]码= java.util.Locale.getISOLanguages();
这不是一个问题,实际上我的应用程序读取alpha-2代码,但是我需要输出alpha-3等价物。
有类似的方法可以得到alpha-3码吗?
有什么建议吗?
发布于 2010-09-01 10:50:09
这很管用-
Locale locale = new Locale("en","IN");
System.out.println("Country=" + locale.getISO3Country());输出:
Country=IND发布于 2010-09-01 10:49:12
是的,简单地创建一个区域设置并从区域设置获取if:
String alpha3Country = new Locale("en", alpha2County).getISO3Country();getISOLanguages()返回语言代码(小写),getISOCountries()返回国家代码(大写)
发布于 2010-09-01 10:55:05
由于您在代码中阅读,您不能硬编码它们,您应该创建一个查找表来转换为ISO代码。
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" ) );
}https://stackoverflow.com/questions/3617160
复制相似问题