public class CompareUtil extends Object
Constructor and Description |
---|
CompareUtil() |
Modifier and Type | Method and Description |
---|---|
static <T extends Comparable<? super T>> |
compare(T c1,
T c2)
null 安全的对象比较,null 对象小于任何对象 |
static <T> int |
compare(T o1,
T o2,
boolean isNullGreater)
自然比较两个对象的大小,比较规则如下:
|
static <T extends Comparable<? super T>> |
compare(T c1,
T c2,
boolean isNullGreater)
null 安全的对象比较 |
static <T> int |
compare(T c1,
T c2,
Comparator<T> comparator)
对象比较,比较结果取决于comparator,如果被比较对象为null,传入的comparator对象应处理此情况
如果传入comparator为null,则使用默认规则比较(此时被比较对象必须实现Comparable接口) |
static <T> Comparator<T> |
comparingPinyin(Function<T,String> keyExtractor)
中文比较器
|
static <T> Comparator<T> |
comparingPinyin(Function<T,String> keyExtractor,
boolean reverse)
中文比较器
|
public static <T> int compare(T c1, T c2, Comparator<T> comparator)
一般而言,如果c1 < c2,返回数小于0,c1==c2返回0,c1 > c2 大于0
T
- 被比较对象类型c1
- 对象1c2
- 对象2comparator
- 比较器Comparator.compare(Object, Object)
public static <T extends Comparable<? super T>> int compare(T c1, T c2)
null
安全的对象比较,null
对象小于任何对象T
- 被比较对象类型c1
- 对象1,可以为null
c2
- 对象2,可以为null
Comparator.compare(Object, Object)
public static <T extends Comparable<? super T>> int compare(T c1, T c2, boolean isNullGreater)
null
安全的对象比较T
- 被比较对象类型(必须实现Comparable接口)c1
- 对象1,可以为null
c2
- 对象2,可以为null
isNullGreater
- 当被比较对象为null时是否排在前面,true表示null大于任何对象,false反之Comparator.compare(Object, Object)
public static <T> int compare(T o1, T o2, boolean isNullGreater)
1、如果实现Comparable调用compareTo比较 2、o1.equals(o2)返回0 3、比较hashCode值 4、比较toString值
T
- 被比较对象类型o1
- 对象1o2
- 对象2isNullGreater
- null值是否做为最大值public static <T> Comparator<T> comparingPinyin(Function<T,String> keyExtractor)
T
- 对象类型keyExtractor
- 从对象中提取中文(参与比较的内容)public static <T> Comparator<T> comparingPinyin(Function<T,String> keyExtractor, boolean reverse)
T
- 对象类型keyExtractor
- 从对象中提取中文(参与比较的内容)reverse
- 是否反序Copyright © 2021. All rights reserved.