feat: comparator for chinese pinyin

This commit is contained in:
easepan 2020-09-09 19:00:02 +08:00
parent 9267c8217a
commit cdbbaf1b20

View File

@ -136,10 +136,10 @@ public class CompareUtil {
*/
public static <T> Comparator<T> comparingPinyin(Function<T, String> keyExtractor, boolean reverse) {
Objects.requireNonNull(keyExtractor);
Collator chineseCollator = Collator.getInstance(Locale.CHINESE);
PinyinComparator pinyinComparator = new PinyinComparator();
if (reverse) {
return (o1, o2) -> chineseCollator.compare(keyExtractor.apply(o2), keyExtractor.apply(o1));
return (o1, o2) -> pinyinComparator.compare(keyExtractor.apply(o2), keyExtractor.apply(o1));
}
return (o1, o2) -> chineseCollator.compare(keyExtractor.apply(o1), keyExtractor.apply(o2));
return (o1, o2) -> pinyinComparator.compare(keyExtractor.apply(o1), keyExtractor.apply(o2));
}
}