JLL*_*CHR 11 java arrays character-encoding
有人知道如何使用带有特殊字符(如重音符号)的单词来命令数组吗?
Arrays.sort(anArray);
'Albacete'以前回来'Álava',我想要'Álava'之前'Albacete'.
非常感谢
aio*_*obe 21
如果您只想对字符串进行排序,就好像它们没有重音一样,您可以使用以下内容:
Collections.sort(strs, new Comparator<String>() {
    @Override
    public int compare(String o1, String o2) {
        o1 = Normalizer.normalize(o1, Normalizer.Form.NFD);
        o2 = Normalizer.normalize(o2, Normalizer.Form.NFD);
        return o1.compareTo(o2);
    }
});
相关问题:
对于更复杂的用例,您需要阅读java.text.Collator.这是一个例子:
Collections.sort(strs, new Comparator<String>() {
    @Override
    public int compare(String o1, String o2) {
        Collator usCollator = Collator.getInstance(Locale.US);
        return usCollator.compare(o1, o2);
    }
});
如果没有预定义的排序规则符合您的需求,您可以尝试使用java.text.RuleBasedCollator.