我想按中文笔画计数对列表进行排序,并且我正在使用该方法来创建整理器以实现此目的,但是似乎带有TRADITIONAL_CHINESE的整理器存在一些错误。

例如

 List<String> strList = new List<>();
 strList.add("日");
 strList.add("蘋");
 Collections.sort(strList, new SortChinese());




 class SortChinese implements Comparator<String> {

        public int compare(String obj1, String obj2) {

            Collator collator = Collator.getInstance(Locale.TRADITIONAL_CHINESE);
            collator.setStrength(Collator.PRIMARY);
            return collator.compare(obj1, obj2);

        }
    }


之前:日,苹

之后:苹,日

预期结果:日,苹

在Android中对中文笔画有任何想法或建议吗?

最佳答案

您可以删除ShortChinese:

List<String> strList = new List<>();
strList.add("日");
strList.add("蘋");

Collator collator = Collator.getInstance(Locale.TRADITIONAL_CHINESE);
collator.setStrength(Collator.PRIMARY);
Collections.sort(strList, collator);

10-07 18:45