java - 从java获取所有语言

标签 java

我想使用此代码获取所有语言:

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/

相关文章:

java - RMI 方法中的参数

java - 时区自定义显示名称

java - 有没有办法使用 Java 11 的 HttpClient 从 HTTP 1.1 响应的状态行中获取 Reason-Phrase?

java - 如何在 Linux 上查看/更改套接字连接超时?

java - 我如何最小化我的应用程序,打开 safari mobile 并在我最后一次使用它时重新打开我的应用程序

java - 如何在 XPath 查询中使用 Java String 变量

java - Tomcat8 UTF-8 显示为问号

java - 鼠标悬停在 slick2d 区域上?

java - 通知后控制不返回到等待线程

java - Apache poi Java。我正在尝试添加 upper_letter 编号,但结果是所有部分都编号为 A