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)
自然比较两个对象的大小,比较规则如下:
1、如果实现Comparable调用compareTo比较
2、o1.equals(o2)返回0
3、比较hashCode值
4、比较toString值
|
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接口) 一般而言,如果c1 < c2,返回数小于0,c1==c2返回0,c1 > c2 大于0 |
static <T,U> Comparator<T> |
comparingIndexed(Function<? super T,? extends U> keyExtractor,
boolean atEndIfMiss,
U... objs)
索引比较器
通过keyExtractor函数,提取对象的某个属性或规则,根据提供的排序数组,完成比较 |
static <T,U> Comparator<T> |
comparingIndexed(Function<? super T,? extends U> keyExtractor,
U... objs)
索引比较器
通过keyExtractor函数,提取对象的某个属性或规则,根据提供的排序数组,完成比较 |
static <T> Comparator<T> |
comparingPinyin(Function<T,String> keyExtractor)
中文比较器
|
static <T> Comparator<T> |
comparingPinyin(Function<T,String> keyExtractor,
boolean reverse)
中文(拼音)比较器
|
static <E extends Comparable<? super E>> |
naturalComparator()
获取自然排序器,即默认排序器
|
public static <E extends Comparable<? super E>> Comparator<E> naturalComparator()
E
- 排序节点类型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
- 是否反序public static <T,U> Comparator<T> comparingIndexed(Function<? super T,? extends U> keyExtractor, U... objs)
T
- 对象类型U
- 数组对象类型keyExtractor
- 从对象中提取中文(参与比较的内容)objs
- 参与排序的数组,数组的元素位置决定了对象的排序先后public static <T,U> Comparator<T> comparingIndexed(Function<? super T,? extends U> keyExtractor, boolean atEndIfMiss, U... objs)
T
- 对象类型U
- 数组对象类型keyExtractor
- 从对象中提取排序键的函数(参与比较的内容)atEndIfMiss
- 如果不在列表中是否排在后边objs
- 参与排序的数组,数组的元素位置决定了对象的排序先后Copyright © 2024. All rights reserved.