浏览代码

feat: comparator for chinese pinyin

easepan 5 年之前
父节点
当前提交
cdbbaf1b20
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      hutool-core/src/main/java/cn/hutool/core/comparator/CompareUtil.java

+ 3 - 3
hutool-core/src/main/java/cn/hutool/core/comparator/CompareUtil.java

@@ -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));
 	}
 }