前言
因為項目需要實現(xiàn)選擇國家列表如下圖:

微信圖片_20180624210302.png
不多廢話,上代碼
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
定義:代表特定的地理、政治,文化區(qū)域
構(gòu)造函數(shù):
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區(qū)域代碼。例如:"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) {
// 設置默認語言環(huán)境
Locale.setDefault(Locale.CHINA);
// 獲取計算機默認語言環(huán)境
Locale l = Locale.getDefault();
System.out.println("默認語言代碼: " + l.getLanguage());
System.out.println("默認地區(qū)代碼: " + l.getCountry());
System.out.println("默認語言地區(qū)代碼: " + l.toString());
System.out.println("---------------------------------------");
System.out.println("默認語言描述: " + l.getDisplayLanguage());
System.out.println("默認地區(qū)描述: " + l.getDisplayCountry());
System.out.println("默認語言,地區(qū)描述: " + l.getDisplayName());
System.out.println("---------------------------------------");
System.out.println("在美國默認語言叫: " + l.getDisplayLanguage(Locale.US));
System.out.println("在美國默認地區(qū)叫: " + l.getDisplayCountry(Locale.US));
System.out.println("在美國默認語言,地區(qū)叫: " + l.getDisplayName(Locale.US));
System.out.println("---------------------------------------");
System.out.println("語言環(huán)境三字母縮寫: " + l.getISO3Language());
System.out.println("國家環(huán)境三字母縮寫: " + l.getISO3Country());
System.out.println("---------------------------------------");
// 機器已經(jīng)安裝的語言環(huán)境數(shù)組
Locale[] allLocale = Locale.getAvailableLocales();
// 返回 ISO 3166 中所定義的所有兩字母國家代碼
String[] str1 = Locale.getISOCountries();
// 返回 ISO 639 中所定義的所有兩字母語言代碼
String[] str2 = Locale.getISOLanguages();
}
/*
打印結(jié)果:
默認語言代碼: zh
默認地區(qū)代碼: CN
默認語言地區(qū)代碼: zh_CN
---------------------------------------
默認語言描述: 中文
默認地區(qū)描述: 中國
默認語言,地區(qū)描述: 中文 (中國)
---------------------------------------
在中國默認語言代碼叫: 中文
在中國默認地區(qū)代碼叫: 中國
在中國默認語言,地區(qū)代碼叫: 中文 (中國)
在美國默認語言叫: Chinese
在美國默認地區(qū)叫: China
在美國默認語言,地區(qū)叫: Chinese (China)
---------------------------------------
語言環(huán)境三字母縮寫: zho
國家環(huán)境三字母縮寫: CHN
---------------------------------------
*/