【发布时间】:2011-05-12 15:36:15
【问题描述】:
这是语言环境的字母顺序:wikipedia
这是我的代码:
public static void main(String[] args) {
Locale loc = new Locale("sr","RS");
Collator col = Collator.getInstance(loc);
col.setStrength(Collator.SECONDARY);
List<String> slova = new ArrayList<String>();
slova.add("Austrija");
slova.add("Slovačka");
slova.add("Č");
slova.add("Đ");
slova.add("C");
slova.add("Grčka");
slova.add("Slovenija");
slova.add("Španija");
slova.add("Švajcarska");
slova.add("Švedska");
slova.add("Srbija");
Collections.sort(slova,col);
for(String s: slova)
System.out.println(s);
}
这是输出:
奥地利
C
Č
格奇卡
斯洛伐克
斯洛文尼亚
什帕尼亚
斯比亚
斯瓦伊卡尔斯卡
斯韦德斯卡
Đ
从上面的链接可以看出,这不是正确的顺序。
我做错了什么?
【问题讨论】:
-
以 S 和 Š 开头的单词混合在一起,Đ 不应该在末尾。
-
假设每个人都能看到输出错误是非常夸张的。
-
这就是为什么我在顶部添加了带有字母顺序的链接,并添加了指出输出问题的注释。
标签: java sorting internationalization collation