我想按中文笔画计数对列表进行排序,并且我正在使用该方法来创建整理器以实现此目的,但是似乎带有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);