我想使用此代码获取所有语言:
public List<String> getGeneratePreferedLanguagesList()
{
String[] languageCodes = Locale.getISOLanguages();
List<String> list = new ArrayList<>();
for (String cc : languageCodes)
{
list.add(new Locale("", cc).getDisplayLanguage());
}
Collections.sort(list);
return list;
}
但是最终的列表是空的。你知道我错在哪里吗?
最佳答案
您不应传递空字符串作为第一个参数,而应传递语言。
使用您当前的语言。
Locale locale = new Locale(cc);
list.add(locale.getDisplayLanguage());
用自己的语言。
Locale locale = new Locale(cc);
list.add(locale.getDisplayLanguage(locale));
修改该行,您应该始终检查 javadoc。 https://docs.oracle.com/javase/7/docs/api/java/util/Locale.html#Locale(java.lang.String)
关于java - 从java获取所有语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49225418/