mirror of
https://gitee.com/dromara/hutool.git
synced 2025-05-02 20:02:49 +08:00
fix PinyinComparator
This commit is contained in:
parent
ee85bd9596
commit
6c39380b6a
@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (c) 2023. looly(loolly@aliyun.com)
|
||||
* Hutool is licensed under Mulan PSL v2.
|
||||
* You can use this software according to the terms and conditions of the Mulan PSL v2.
|
||||
* You may obtain a copy of Mulan PSL v2 at:
|
||||
* https://license.coscl.org.cn/MulanPSL2
|
||||
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
* See the Mulan PSL v2 for more details.
|
||||
*/
|
||||
|
||||
package org.dromara.hutool.core.comparator;
|
||||
|
||||
import java.text.Collator;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* 自定义语言环境 String 比较,可为自然语言文本构建搜索和排序例程。
|
||||
*
|
||||
* @author looly
|
||||
*/
|
||||
public class LocaleComparator extends NullComparator<String> {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 构造
|
||||
*
|
||||
* @param nullGreater 是否{@code null}在后
|
||||
* @param desiredLocale 语言环境
|
||||
*/
|
||||
public LocaleComparator(final boolean nullGreater, final Locale desiredLocale) {
|
||||
super(nullGreater, Collator.getInstance(desiredLocale));
|
||||
}
|
||||
}
|
@ -12,9 +12,6 @@
|
||||
|
||||
package org.dromara.hutool.core.comparator;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.text.Collator;
|
||||
import java.util.Comparator;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
@ -23,21 +20,22 @@ import java.util.Locale;
|
||||
* @author looly
|
||||
* @since 4.0.8
|
||||
*/
|
||||
public class PinyinComparator implements Comparator<String>, Serializable {
|
||||
public class PinyinComparator extends LocaleComparator {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
final Collator collator;
|
||||
/**
|
||||
* 构造,{@code null}最大,排在最后
|
||||
*/
|
||||
public PinyinComparator() {
|
||||
this(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造
|
||||
*
|
||||
* @param nullGreater 是否{@code null}最大,排在最后
|
||||
*/
|
||||
public PinyinComparator() {
|
||||
collator = Collator.getInstance(Locale.CHINESE);
|
||||
public PinyinComparator(final boolean nullGreater) {
|
||||
super(nullGreater, Locale.CHINESE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compare(final String o1, final String o2) {
|
||||
return collator.compare(o1, o2);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user