mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-08-18 20:38:02 +08:00
feat: comparator for chinese pinyin
This commit is contained in:
@@ -136,10 +136,10 @@ public class CompareUtil {
|
|||||||
*/
|
*/
|
||||||
public static <T> Comparator<T> comparingPinyin(Function<T, String> keyExtractor, boolean reverse) {
|
public static <T> Comparator<T> comparingPinyin(Function<T, String> keyExtractor, boolean reverse) {
|
||||||
Objects.requireNonNull(keyExtractor);
|
Objects.requireNonNull(keyExtractor);
|
||||||
Collator chineseCollator = Collator.getInstance(Locale.CHINESE);
|
PinyinComparator pinyinComparator = new PinyinComparator();
|
||||||
if (reverse) {
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user