这是语言环境的字母顺序: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);
}

这是输出:

Austrija
C
C
Grčka
Slovačka
斯洛维尼亚
什帕尼亚
斯比贾
Švajcarska
什韦德斯卡
Đ

从上面的链接可以看到,这不是正确的顺序。
我究竟做错了什么?

最佳答案

正如我在您的wikipedia页面上发现的,@ Vash是他的ISO链接。我认为您是说“sr”塞尔维亚?然后,您将必须选择“cs”作为国家。

编辑:这取决于您使用的Java版本。 Java 6使用新的iso标准。

07-27 20:24