【发布时间】:2013-03-09 05:59:28
【问题描述】:
我想打印所有可用语言的排序波兰语名称。
import java.util.*;
public class Tmp
{
public static void main(String... args)
{
Locale.setDefault(new Locale("pl","PL"));
Locale[] locales = Locale.getAvailableLocales();
ArrayList<String> langs = new ArrayList<String>();
for(Locale loc: locales) {
String lng = loc.getDisplayLanguage();
if(!lng.trim().equals("") && ! langs.contains(lng)){
langs.add(lng);
}
}
Collections.sort(langs);
for(String str: langs){
System.out.println(str);
}
}
}
不幸的是,我对排序部分有疑问。 输出是:
:
:
kataloński
koreański
litewski
macedoński
:
:
węgierski
włoski
łotewski
不幸的是,波兰语中的ł 在l 之后和m 之前,所以输出应该是:
:
:
kataloński
koreański
litewski
łotewski
macedoński
:
:
węgierski
włoski
我怎样才能做到这一点?是否有一种通用的非语言依赖方法(比如我现在想显示这个并使用另一种排序规则以另一种语言进行排序)。
【问题讨论】:
-
你检查过这个解决方案吗? stackoverflow.com/questions/12889760/…
标签: java string sorting locale