有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

获取Java中的完整语言名称列表

如何获取语言的全名列表?我检查了Locale类并找到了getISOLanguages(),但当我需要语言的全名(例如“English”)时,它会返回两个字母的语言代码(例如“en”)

更好的方法是什么


共 (1) 个答案

  1. # 1 楼答案

    最后,多亏了托马斯的评论,我以这样的方式实现了它:

    SortedSet<String> allLanguages = new TreeSet<String>();
    String[] languages = Locale.getISOLanguages();
    for (int i = 0; i < languages.length; i++){
        Locale loc = new Locale(languages[i]);
        allLanguages.add(loc.getDisplayLanguage());
    }
    

    UPD。还有更现代的风格:

    Set<String> languages = Arrays.stream(Locale.getISOLanguages())
                .map(Locale::new)
                .map(Locale::getDisplayLanguage)
                .collect(Collectors.toCollection(TreeSet::new));