前言
因为项目需要实现选择国家列表如下图:
不多废话,上代码
public static List<Locale> getAllLocale(){
List<Locale> mAllLocale = new ArrayList<>();
for (String str : Locale.getISOCountries()){
mAllLocale.add(new Locale("",str));
}
return mAllLocale;
}
没错就是那么简单就能拿到ISO 3166 中所定义的所有国家的Locale,
接下来我们简单介绍一下Locale。
Locale
定义:代表特定的地理、政治,文化区域
构造函数:
Locale(String language)}
Locale(String language, String country)}
/**
* @param language 小写2到8的语言代码。例如:"en" (English), "ja" (Japanese), "kok" (Konkani)
* @param country 大写两个字母ISO-3166代码和NUMICR-3 UNM.49区域代码。例如:"US" (United States), "FR" (France), "029"
* @param variant 供应商和浏览器特定的代码。例如:"polyton" (Polytonic Greek), "POSIX"
*/
Locale(String language, String country, String variant)}
简单使用:
public static void main(String[] args) {
// 设置默认语言环境
Locale.setDefault(Locale.CHINA);
// 获取计算机默认语言环境
Locale l = Locale.getDefault();
System.out.println("默认语言代码: " + l.getLanguage());
System.out.println("默认地区代码: " + l.getCountry());
System.out.println("默认语言地区代码: " + l.toString());
System.out.println("---------------------------------------");
System.out.println("默认语言描述: " + l.getDisplayLanguage());
System.out.println("默认地区描述: " + l.getDisplayCountry());
System.out.println("默认语言,地区描述: " + l.getDisplayName());
System.out.println("---------------------------------------");
System.out.println("在美国默认语言叫: " + l.getDisplayLanguage(Locale.US));
System.out.println("在美国默认地区叫: " + l.getDisplayCountry(Locale.US));
System.out.println("在美国默认语言,地区叫: " + l.getDisplayName(Locale.US));
System.out.println("---------------------------------------");
System.out.println("语言环境三字母缩写: " + l.getISO3Language());
System.out.println("国家环境三字母缩写: " + l.getISO3Country());
System.out.println("---------------------------------------");
// 机器已经安装的语言环境数组
Locale[] allLocale = Locale.getAvailableLocales();
// 返回 ISO 3166 中所定义的所有两字母国家代码
String[] str1 = Locale.getISOCountries();
// 返回 ISO 639 中所定义的所有两字母语言代码
String[] str2 = Locale.getISOLanguages();
}
/*
打印结果:
默认语言代码: zh
默认地区代码: CN
默认语言地区代码: zh_CN
---------------------------------------
默认语言描述: 中文
默认地区描述: 中国
默认语言,地区描述: 中文 (中国)
---------------------------------------
在中国默认语言代码叫: 中文
在中国默认地区代码叫: 中国
在中国默认语言,地区代码叫: 中文 (中国)
在美国默认语言叫: Chinese
在美国默认地区叫: China
在美国默认语言,地区叫: Chinese (China)
---------------------------------------
语言环境三字母缩写: zho
国家环境三字母缩写: CHN
---------------------------------------
*/