我想從JVM獲取所有的語言環境來填充國家下拉菜單。第一個項目是一個空的非空對象。它不爲空,因爲我使用TreeMap集合來添加國家縮寫和(可顯示)名稱。看下面看看收藏是什麼。java.util.Locale有一個空的第一項
{=, AE=United Arab Emirates, AL=Albania, AR=Argentina, AT=Austria, AU=Australia, BA=Bosnia and Herzegovina, BE=Belgium, BG=Bulgaria, BH=Bahrain, BO=Bolivia, BR=Brazil,....
這是代碼。我刪除該空對象以確保第一個值不爲空。
public Map<String, String> countries(Locale currentLocale) {
Map<String, String> countries = new TreeMap<String, String>();
for (Locale locale : Locale.getAvailableLocales()) {
countries.put(locale.getCountry(),
locale.getDisplayCountry(currentLocale));
}
countries.remove("");
return countries;
}
JVM版本 - (建1.7.0_09-B05)
對。但爲什麼locale.getCountry()和locale.getDisplayCountry()都是空的? – Mukus
其實我重新讀你的答案,這是有道理的。我不認爲使用JVM是獲取國家名單的正確途徑。此外,名稱基於選定的語言環境。對於美國,我們會失去其他人的名字,我們會得到更多。 – Mukus
右鍵 - 它是'Locale',但是...沒有任何你想要的東西。其中一些只有語言標籤。 –