Package org.aoju.bus.core.toolkit
Class ObjectKit
java.lang.Object
org.aoju.bus.core.toolkit.ObjectKit
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> voidcleanInitValue(T bean) 清空对象中所有属性的初始值static <T> Tclone(T object) 克隆对象 如果对象实现Cloneable接口,调用其clone方法 如果实现Serializable接口,执行深度克隆 否则返回nullstatic <T> TcloneByStream(T object) 序列化后拷贝流的方式克隆 对象必须实现Serializable接口static <T> TCloneObject(Class<T> clazz, Object bean) 克隆有序列化的对象static <T> TCloneObject(T bean) 克隆有序列化的对象static intcompare(byte x, byte y) 比较两个值的大小static intcompare(char x, char y) 比较两个值的大小static intcompare(double x, double y) 比较两个值的大小static intcompare(int x, int y) 比较两个值的大小static intcompare(long x, long y) 比较两个值的大小static intcompare(short x, short y) 比较两个值的大小static <T extends Comparable<? super T>>
intcompare(T c1, T c2) null安全的对象比较,null对象小于任何对象static <T extends Comparable<? super T>>
intcompare(T c1, T c2, boolean isNullGreater) null安全的对象比较static <T> intcompare(T c1, T c2, Comparator<T> comparator) 对象比较,比较结果取决于comparator,如果被比较对象为null,传入的comparator对象应处理此情况 如果传入comparator为null,则使用默认规则比较(此时被比较对象必须实现Comparable接口)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, Iterable<U> objs) 索引比较器 通过keyExtractor函数,提取对象的某个属性或规则,根据提供的排序数组,完成比较 objs中缺失的,默认排序在前面(atEndIfMiss=false)static <T,U> Comparator <T> comparingIndexed(Function<? super T, ? extends U> keyExtractor, U[] objs) 索引比较器 通过keyExtractor函数,提取对象的某个属性或规则,根据提供的排序数组,完成比较 objs中缺失的,默认排序在前面(atEndIfMiss=false)static <T> Comparator<T> comparingPinyin(Function<T, String> keyExtractor) 中文比较器static <T> Comparator<T> comparingPinyin(Function<T, String> keyExtractor, boolean reverse) 中文(拼音)比较器static boolean对象中是否包含元素static <T extends CharSequence>
TdefaultIfBlank(T text, Supplier<? extends T> handle) 如果被检查对象为null或 "" 或 空白字符串时,返回默认值(由 defaultValueSupplier 提供);否则直接返回static <T extends CharSequence>
TdefaultIfBlank(T text, T defaultValue) 如果给定对象为null或者""或者空白符返回默认值static <T> TdefaultIfEmpty(String text, Supplier<? extends T> handle, T defaultValue) 如果给定对象为null或者""返回默认值, 否则返回自定义handle处理后的返回值static <T> T[]defaultIfEmpty(T[] array, T[] defaultArray) 如果给定数组为空,返回默认数组static <T extends CharSequence>
TdefaultIfEmpty(T text, Supplier<? extends T> handle) 如果被检查对象为null或 "" 时,返回默认值(由 defaultValueSupplier 提供);否则直接返回static <T extends CharSequence>
TdefaultIfEmpty(T text, T defaultValue) 如果给定对象为null或者 "" 返回默认值static <T> TdefaultIfNull(Object source, Supplier<? extends T> handle, T defaultValue) 如果给定对象为null返回默认值, 如果不为null 返回自定义handle处理后的返回值static <T> TdefaultIfNull(T source, Supplier<? extends T> defaultValueSupplier) 如果被检查对象为null, 返回默认值(由 defaultValueSupplier 提供);否则直接返回static <T> TdefaultIfNull(T object, T defaultValue) 如果给定对象为null返回默认值static <T> Tdeserialize(byte[] bytes) byte反序列化 对象必须实现Serializable接口static boolean比较两个对象是否相等static <T extends Comparable<? super T>>
booleanequals(T c1, T c2) null安全的检查两个对象是否相同,通过调用compare(c1, c2) == 0完成static <T extends Comparable<? super T>>
booleange(T c1, T c2) c1是否大于或等于c2,通过调用compare(c1, c2) >= 0完成static Field[]getAllFields(Object object) 获取包括父类所有的属性static ObjectgetAttributeValue(Object object, String attrName) 从对象中取值static ClassgetClassByName(String classAllName) 依据class的名称获取对应classgetFieldNames(Class clazz) 获取类的所有属性与属性的类型获取对象中的所有属性static <T> Class<T> getGeneric(Class clazz) 依据类,获取该类的泛型classgetNotNullFields(Object bean) 获取对象中的非空属性(属性如果是对象,则只会在同一个map中新增,不会出现map嵌套情况) (不会清空初始值)getNotNullFields(Object bean, boolean hasInitValue) 获取对象中的非空属性(属性如果是对象,则只会在同一个map中新增,不会出现map嵌套情况)获取对象中的非空属性(属性如果是对象,则会嵌套map)getNotNullFieldsParam(Object bean) 获取对象中的非空属性(属性如果是对象,则只会在同一个map中新增,不会出现map嵌套情况) (不会清空初始值)getNotNullFieldsParam(Object bean, boolean hasInitValue) 获取对象中的非空属性(属性如果是对象,则只会在同一个map中新增,不会出现map嵌套情况)static <T extends Comparable<? super T>>
booleangt(T c1, T c2) c1是否大于c2,通过调用compare(c1, c2) > 0完成static voididentityToString(Appendable appendable, Object object) 如果类没有覆盖toString本身,则附加由Object生成的toString.static StringidentityToString(Object object) 获取如果类没有覆盖toString本身,则Object将生成的toString.static voididentityToString(StringBuffer buffer, Object object) 如果类没有覆盖toString本身,则附加由Object生成的toString.static voididentityToString(StringBuilder builder, Object object) 如果类没有覆盖toString本身,则附加由Object生成的toString.static voididentityToString(TextBuilder builder, Object object) 如果类没有覆盖toString本身,则附加由Object生成的toString.static <T> TinitObject(Class<T> clazz, Map<String, Object> attrMap) 初始化对象static voidinsertObject(Object baseData, Object newData) 将新数据的非空属性值插入到基本数据中static booleanisAllEmpty(Object... objs) 是否全都为null或空对象,通过isEmpty(Object)判断元素static booleanisAllNotEmpty(Object... objs) 是否全都不为null或空对象,通过isEmpty(Object)判断元素static boolean确定给定的对象是一个数组:对象数组还是基元数组static booleanisBaseClass(Object value) 校验是否是九种基础类型(即:非用户定义的类型)static boolean判断指定对象是否为空,支持:static boolean判断对象为falsestatic <T extends Comparable<? super T>>
booleanisIn(T value, T c1, T c2) 给定的value是否在c1和c2的范围内 即min(c1,c2) <= value <= max(c1,c2)static <T extends Comparable<? super T>>
booleanisInExclusive(T value, T c1, T c2) 给定的value是否在c1和c2的范围内,但是不包括边界 即min(c1,c2) < value < max(c1,c2)static final booleanisNotEmpty(Object object) 判断对象是否为NotEmpty(!static boolean检查对象是否不为nullstatic boolean检查对象是否为nullstatic boolean判断对象为truestatic <T extends Comparable<? super T>>
booleanle(T c1, T c2) c1是否小于或等于c2,通过调用compare(c1, c2) <= 0完成static int计算对象长度,如果是字符串调用其length函数, 集合类调用其size函数, 数组调用其length属性, 其他可遍历对象遍历计算长度static <T extends Comparable<? super T>>
booleanlt(T c1, T c2) c1是否大小于c2,通过调用compare(c1, c2) < 0完成static <T extends Comparable<? super T>>
Tmax(T t1, T t2) 取两个值中的最大值,大小相同返回第一个值static <T extends Comparable<? super T>>
Tmin(T t1, T t2) 取两个值中的最小值,大小相同返回第一个值static <E extends Comparable<? super E>>
Comparator<E> natural()获取自然排序器,即默认排序器 如需对null友好操作如下Comparator.nullsLast(CompareKit.natural())Comparator.nullsFirst(CompareKit.natural())static <E extends Comparable<? super E>>
Comparator<E> 获取反序排序器,即默认自然排序的反序排序器 如需对null友好操作如下Comparator.nullsLast(CompareKit.naturalReverse())Comparator.nullsFirst(CompareKit.naturalReverse())static boolean比较两个对象是否不相等static booleannullSafeEquals(Object o1, Object o2) 确定给定的对象是否相等,如果两个对象都是null, 则返回true;如果只有一个对象是null, 则返回falsestatic <T> TparseByteForObject(byte[] bts) 将byte字节转换成对象static byte[]parseObjForByte(Object object) 将对象转换为byte数据static <T> TparseToObject(Object value, Class<T> type) 转换类型static <E extends Comparable<? super E>>
Comparator<E> reverse(Comparator<E> comparator) 获取反序排序器,即默认排序器 如需对null友好操作如下Comparator.nullsLast(CompareKit.reverse())Comparator.nullsFirst(CompareKit.reverse())static <T> byte[]serialize(T object) 对象序列化 对象必须实现Serializable接口static voidsetAttribute(Object object, String attrName, Object value) 给对象的属性赋值static byte[]将对象进行序列化static <T> TtoObject(byte[] bts) 将序列化数据转换为对象static <T> T将base64的序列化数据转换为对象static Object[]toObjectArray(Object source) 将给定的数组(可能是原始数组)转换为对象数组(如果需要原始包装器对象) 一个null源值将被转换为一个空的对象数组.static String将Object转为String 策略为:
-
Constructor Details
-
ObjectKit
public ObjectKit()
-
-
Method Details
-
isNull
-
isNotNull
检查对象是否不为null1. != null 2. not equals(null)
- Parameters:
object- 对象- Returns:
- 是否为非null
-
defaultIfNull
public static <T> T defaultIfNull(T object, T defaultValue) 如果给定对象为null返回默认值- Type Parameters:
T- 对象类型- Parameters:
object- 被检查对象,可能为nulldefaultValue- 被检查对象为null返回的默认值,可以为null- Returns:
- 被检查对象为{ null}返回默认值,否则返回原值
-
defaultIfNull
如果被检查对象为null, 返回默认值(由 defaultValueSupplier 提供);否则直接返回- Type Parameters:
T- 对象类型- Parameters:
source- 被检查对象defaultValueSupplier- 默认值提供者- Returns:
- 被检查对象为
null返回默认值,否则返回自定义handle处理后的返回值
-
defaultIfNull
如果给定对象为null返回默认值, 如果不为null 返回自定义handle处理后的返回值- Type Parameters:
T- 被检查对象为null返回默认值,否则返回自定义handle处理后的返回值- Parameters:
source- Object 类型对象handle- 非空时自定义的处理方法defaultValue- 默认为空的返回值- Returns:
- 被检查对象为{ null}返回默认值,否则返回原值
-
defaultIfEmpty
如果被检查对象为null或 "" 时,返回默认值(由 defaultValueSupplier 提供);否则直接返回- Type Parameters:
T- 对象类型(必须实现CharSequence接口)- Parameters:
text- 被检查对象handle- 默认值提供者- Returns:
- 被检查对象为
null返回默认值,否则返回自定义handle处理后的返回值
-
defaultIfEmpty
如果给定对象为null或者""返回默认值, 否则返回自定义handle处理后的返回值- Type Parameters:
T- 被检查对象为null或者 ""返回默认值,否则返回自定义handle处理后的返回值- Parameters:
text- String 类型handle- 自定义的处理方法defaultValue- 默认为空的返回值- Returns:
- 被检查对象为{ null}返回默认值,否则返回原值
-
defaultIfEmpty
如果给定对象为null或者 "" 返回默认值ObjectKit.defaultIfEmpty(null, null) = null ObjectKit.defaultIfEmpty(null, "") = "" ObjectKit.defaultIfEmpty("", "zz") = "zz" ObjectKit.defaultIfEmpty(" ", "zz") = " " ObjectKit.defaultIfEmpty("abc", *) = "abc"- Type Parameters:
T- 对象类型(必须实现CharSequence接口)- Parameters:
text- 被检查对象,可能为nulldefaultValue- 被检查对象为null或者 ""返回的默认值,可以为null或者 ""- Returns:
- 被检查对象为
null或者 ""返回默认值,否则返回原值
-
defaultIfEmpty
public static <T> T[] defaultIfEmpty(T[] array, T[] defaultArray) 如果给定数组为空,返回默认数组- Type Parameters:
T- 数组元素类型- Parameters:
array- 数组defaultArray- 默认数组- Returns:
- 非空(empty)的原数组或默认数组
-
defaultIfBlank
如果给定对象为null或者""或者空白符返回默认值ObjectKit.defaultIfBlank(null, null) = null ObjectKit.defaultIfBlank(null, "") = "" ObjectKit.defaultIfBlank("", "zz") = "zz" ObjectKit.defaultIfBlank(" ", "zz") = "zz" ObjectKit.defaultIfBlank("abc", *) = "abc"- Type Parameters:
T- 对象类型(必须实现CharSequence接口)- Parameters:
text- 被检查对象,可能为nulldefaultValue- 被检查对象为null或者 ""或者空白符返回的默认值,可以为null或者 ""或者空白符- Returns:
- 被检查对象为
null或者 ""或者空白符返回默认值,否则返回原值
-
defaultIfBlank
如果被检查对象为null或 "" 或 空白字符串时,返回默认值(由 defaultValueSupplier 提供);否则直接返回- Type Parameters:
T- 对象类型(必须实现CharSequence接口)- Parameters:
text- 被检查对象handle- 默认值提供者- Returns:
- 被检查对象为
null返回默认值,否则返回自定义handle处理后的返回值
-
isTrue
-
isFalse
判断对象为false- Parameters:
object- 对象- Returns:
- 对象是否为false
-
isArray
确定给定的对象是一个数组:对象数组还是基元数组- Parameters:
object- 要检查的对象- Returns:
- the true/false
-
isEmpty
判断指定对象是否为空,支持:1. CharSequence 2. Map 3. Iterable 4. Iterator 5. Array
- Parameters:
object- 被判断的对象- Returns:
- 是否为空,如果类型不支持,返回false
-
isNotEmpty
判断对象是否为NotEmpty(!null或元素大于0) 实用于对如下对象做判断:String Collection及其子类 Map及其子类- Parameters:
object- 待检查对象- Returns:
- boolean 返回的布尔值
-
isAllEmpty
是否全都为null或空对象,通过isEmpty(Object)判断元素- Parameters:
objs- 被检查的对象,一个或者多个- Returns:
- 是否都为空
-
isAllNotEmpty
是否全都不为null或空对象,通过isEmpty(Object)判断元素- Parameters:
objs- 被检查的对象,一个或者多个- Returns:
- 是否都不为空
-
equals
-
notEquals
-
length
计算对象长度,如果是字符串调用其length函数, 集合类调用其size函数, 数组调用其length属性, 其他可遍历对象遍历计算长度- Parameters:
object- 被计算长度的对象- Returns:
- 长度
-
contains
-
clone
public static <T> T clone(T object) 克隆对象 如果对象实现Cloneable接口,调用其clone方法 如果实现Serializable接口,执行深度克隆 否则返回null- Type Parameters:
T- 对象类型- Parameters:
object- 被克隆对象- Returns:
- 克隆后的对象
-
toString
-
cloneByStream
public static <T> T cloneByStream(T object) 序列化后拷贝流的方式克隆 对象必须实现Serializable接口- Type Parameters:
T- 对象类型- Parameters:
object- 被克隆对象- Returns:
- 克隆后的对象
- Throws:
InternalException- IO异常和ClassNotFoundException封装
-
getAllFields
-
toByte
-
toObject
将base64的序列化数据转换为对象- Type Parameters:
T- 对象- Parameters:
base64- 经过base64的序列化对象数据- Returns:
- 原对象
-
toObject
public static <T> T toObject(byte[] bts) 将序列化数据转换为对象- Type Parameters:
T- 对象- Parameters:
bts- 序列化后的对象数据- Returns:
- 原对象
-
getClassByName
-
initObject
-
setAttribute
-
getAttributeValue
-
getFields
-
getFieldNames
-
getNotNullFields
-
getNotNullFields
-
getNotNullFieldsParam
-
getNotNullFieldsParam
-
getNotNullFieldsForStructure
-
getGeneric
-
parseByteForObject
public static <T> T parseByteForObject(byte[] bts) 将byte字节转换成对象- Type Parameters:
T- 对象- Parameters:
bts- 字节数据- Returns:
- 对象
-
parseObjForByte
将对象转换为byte数据- Parameters:
object- 对象- Returns:
- byte数据
-
parseToObject
-
isBaseClass
校验是否是九种基础类型(即:非用户定义的类型)- Parameters:
value- 字符串的值 要校验的值- Returns:
- 是否是基础类型(true : 已经是基础类型了)
-
CloneObject
-
CloneObject
public static <T> T CloneObject(T bean) 克隆有序列化的对象- Type Parameters:
T- 要返回的数据类型- Parameters:
bean- 要克隆的对象- Returns:
- 克隆后的对象
-
insertObject
-
cleanInitValue
public static <T> void cleanInitValue(T bean) 清空对象中所有属性的初始值- Type Parameters:
T- 对象- Parameters:
bean- 对象
-
identityToString
获取如果类没有覆盖toString本身,则Object将生成的toString.null将返回nullObjectKit.identityToString(null) = null ObjectKit.identityToString("") = "java.lang.String@1e23" ObjectKit.identityToString(Boolean.TRUE) = "java.lang.Boolean@7fa"- Parameters:
object- 创建toString的对象可以是null- Returns:
- 如果传入
null,则默认的toString文本或null
-
identityToString
如果类没有覆盖toString本身,则附加由Object生成的toString.null将为这两个参数中的任何一个抛出NullPointerExceptionObjectKit.identityToString(appendable, "") = appendable.append("java.lang.String@1e23" ObjectKit.identityToString(appendable, Boolean.TRUE) = appendable.append("java.lang.Boolean@7fa" ObjectKit.identityToString(appendable, Boolean.TRUE) = appendable.append("java.lang.Boolean@7fa")- Parameters:
appendable- 可以附加的信息object- 要为其创建toString的对象- Throws:
IOException- 如果发生I/O错误
-
identityToString
如果类没有覆盖toString本身,则附加由Object生成的toString.null将为这两个参数中的任何一个抛出NullPointerExceptionObjectKit.identityToString(builder, "") = builder.append("java.lang.String@1e23" ObjectKit.identityToString(builder, Boolean.TRUE) = builder.append("java.lang.Boolean@7fa" ObjectKit.identityToString(builder, Boolean.TRUE) = builder.append("java.lang.Boolean@7fa")- Parameters:
builder- 要附加到的生成器object- 要为其创建toString的对象
-
identityToString
如果类没有覆盖toString本身,则附加由Object生成的toString.null将为这两个参数中的任何一个抛出NullPointerExceptionObjectKit.identityToString(buf, "") = buf.append("java.lang.String@1e23" ObjectKit.identityToString(buf, Boolean.TRUE) = buf.append("java.lang.Boolean@7fa" ObjectKit.identityToString(buf, Boolean.TRUE) = buf.append("java.lang.Boolean@7fa")- Parameters:
buffer- 要追加的缓冲区object- 要为其创建toString的对象
-
identityToString
如果类没有覆盖toString本身,则附加由Object生成的toString.null将为这两个参数中的任何一个抛出NullPointerExceptionObjectKit.identityToString(builder, "") = builder.append("java.lang.String@1e23" ObjectKit.identityToString(builder, Boolean.TRUE) = builder.append("java.lang.Boolean@7fa" ObjectKit.identityToString(builder, Boolean.TRUE) = builder.append("java.lang.Boolean@7fa")- Parameters:
builder- 要附加到的生成器object- 要为其创建toString的对象
-
nullSafeEquals
-
toObjectArray
-
serialize
public static <T> byte[] serialize(T object) 对象序列化 对象必须实现Serializable接口- Type Parameters:
T- 对象类型- Parameters:
object- 要被序列化的对象- Returns:
- 序列化后的字节码
-
deserialize
public static <T> T deserialize(byte[] bytes) byte反序列化 对象必须实现Serializable接口- Type Parameters:
T- 对象类型- Parameters:
bytes- 反序列化的字节码- Returns:
- 反序列化后的对象
-
compare
public static int compare(char x, char y) 比较两个值的大小- Parameters:
x- 第一个值y- 第二个值- Returns:
- x==y返回0,x<y返回小于0的数,x>y返回大于0的数
- See Also:
-
compare
public static int compare(double x, double y) 比较两个值的大小- Parameters:
x- 第一个值y- 第二个值- Returns:
- x==y返回0,x<y返回小于0的数,x>y返回大于0的数
- See Also:
-
compare
public static int compare(int x, int y) 比较两个值的大小- Parameters:
x- 第一个值y- 第二个值- Returns:
- x==y返回0,x<y返回小于0的数,x>y返回大于0的数
- See Also:
-
compare
public static int compare(long x, long y) 比较两个值的大小- Parameters:
x- 第一个值y- 第二个值- Returns:
- x==y返回0,x<y返回小于0的数,x>y返回大于0的数
- See Also:
-
compare
public static int compare(short x, short y) 比较两个值的大小- Parameters:
x- 第一个值y- 第二个值- Returns:
- x==y返回0,x<y返回小于0的数,x>y返回大于0的数
- See Also:
-
compare
public static int compare(byte x, byte y) 比较两个值的大小- Parameters:
x- 第一个值y- 第二个值- Returns:
- x==y返回0,x<y返回-1,x>y返回1
- See Also:
-
natural
获取自然排序器,即默认排序器- 如需对null友好操作如下
Comparator.nullsLast(CompareKit.natural())Comparator.nullsFirst(CompareKit.natural())
- Type Parameters:
E- 排序节点类型- Returns:
- 默认排序器
-
naturalReverse
获取反序排序器,即默认自然排序的反序排序器- 如需对null友好操作如下
Comparator.nullsLast(CompareKit.naturalReverse())Comparator.nullsFirst(CompareKit.naturalReverse())
- Type Parameters:
E- 排序节点类型- Returns:
- 默认排序器
-
reverse
获取反序排序器,即默认排序器- 如需对null友好操作如下
Comparator.nullsLast(CompareKit.reverse())Comparator.nullsFirst(CompareKit.reverse())
- Type Parameters:
E- 排序节点类型- Parameters:
comparator- 排序器- Returns:
- 默认排序器
-
compare
对象比较,比较结果取决于comparator,如果被比较对象为null,传入的comparator对象应处理此情况 如果传入comparator为null,则使用默认规则比较(此时被比较对象必须实现Comparable接口)一般而言,如果c1 < c2,返回数小于0,c1==c2返回0,c1 > c2 大于0
- Type Parameters:
T- 被比较对象类型- Parameters:
c1- 对象1c2- 对象2comparator- 比较器- Returns:
- 比较结果
- See Also:
-
compare
null安全的对象比较,null对象小于任何对象- Type Parameters:
T- 被比较对象类型- Parameters:
c1- 对象1,可以为nullc2- 对象2,可以为null- Returns:
- 比较结果,如果c1 < c2,返回数小于0,c1==c2返回0,c1 > c2 大于0
- See Also:
-
compare
null安全的对象比较- Type Parameters:
T- 被比较对象类型(必须实现Comparable接口)- Parameters:
c1- 对象1,可以为nullc2- 对象2,可以为nullisNullGreater- 当被比较对象为null时是否排在后面,true表示null大于任何对象,false反之- Returns:
- 比较结果,如果c1 < c2,返回数小于0,c1==c2返回0,c1 > c2 大于0
- See Also:
-
compare
public static <T> int compare(T o1, T o2, boolean isNullGreater) 自然比较两个对象的大小,比较规则如下:1、如果实现Comparable调用compareTo比较 2、o1.equals(o2)返回0 3、比较hashCode值 4、比较toString值
- Type Parameters:
T- 被比较对象类型- Parameters:
o1- 对象1o2- 对象2isNullGreater- null值是否做为最大值- Returns:
- 比较结果,如果o1 < o2,返回数小于0,o1==o2返回0,o1 > o2 大于0
-
comparingPinyin
中文比较器- Type Parameters:
T- 对象类型- Parameters:
keyExtractor- 从对象中提取中文(参与比较的内容)- Returns:
- 中文比较器
-
comparingPinyin
中文(拼音)比较器- Type Parameters:
T- 对象类型- Parameters:
keyExtractor- 从对象中提取中文(参与比较的内容)reverse- 是否反序- Returns:
- 中文比较器
-
comparingIndexed
public static <T,U> Comparator<T> comparingIndexed(Function<? super T, ? extends U> keyExtractor, U[] objs) 索引比较器 通过keyExtractor函数,提取对象的某个属性或规则,根据提供的排序数组,完成比较 objs中缺失的,默认排序在前面(atEndIfMiss=false)- Type Parameters:
T- 对象类型U- 数组对象类型- Parameters:
keyExtractor- 从对象中提取中文(参与比较的内容)objs- 参与排序的数组,数组的元素位置决定了对象的排序先后- Returns:
- 索引比较器
-
comparingIndexed
public static <T,U> Comparator<T> comparingIndexed(Function<? super T, ? extends U> keyExtractor, Iterable<U> objs) 索引比较器 通过keyExtractor函数,提取对象的某个属性或规则,根据提供的排序数组,完成比较 objs中缺失的,默认排序在前面(atEndIfMiss=false)- Type Parameters:
T- 对象类型U- 数组对象类型- Parameters:
keyExtractor- 从对象中提取中文(参与比较的内容)objs- 参与排序的集合对象,数组的元素位置决定了对象的排序先后- Returns:
- 索引比较器
-
comparingIndexed
public static <T,U> Comparator<T> comparingIndexed(Function<? super T, ? extends U> keyExtractor, boolean atEndIfMiss, U... objs) 索引比较器 通过keyExtractor函数,提取对象的某个属性或规则,根据提供的排序数组,完成比较- Type Parameters:
T- 对象类型U- 数组对象类型- Parameters:
keyExtractor- 从对象中提取排序键的函数(参与比较的内容)atEndIfMiss- 如果不在列表中是否排在后边; true:排在后边; false:排在前边objs- 参与排序的数组,数组的元素位置决定了对象的排序先后, 示例:int[] objs = new int[]{3, 2, 1, 4, 5,6};- Returns:
- 索引比较器
-
min
取两个值中的最小值,大小相同返回第一个值- Type Parameters:
T- 值类型- Parameters:
t1- 第一个值t2- 第二个值- Returns:
- 最小值
-
max
取两个值中的最大值,大小相同返回第一个值- Type Parameters:
T- 值类型- Parameters:
t1- 第一个值t2- 第二个值- Returns:
- 最大值
-
equals
null安全的检查两个对象是否相同,通过调用compare(c1, c2) == 0完成- Type Parameters:
T- 被比较对象类型- Parameters:
c1- 对象1,可以为nullc2- 对象2,可以为null- Returns:
- 是否相等
- See Also:
-
gt
c1是否大于c2,通过调用compare(c1, c2) > 0完成- Type Parameters:
T- 被比较对象类型- Parameters:
c1- 对象1,可以为nullc2- 对象2,可以为null- Returns:
- c1是否大于c2
- See Also:
-
ge
c1是否大于或等于c2,通过调用compare(c1, c2) >= 0完成- Type Parameters:
T- 被比较对象类型- Parameters:
c1- 对象1,可以为nullc2- 对象2,可以为null- Returns:
- c1是否大于或等于c2
- See Also:
-
lt
c1是否大小于c2,通过调用compare(c1, c2) < 0完成- Type Parameters:
T- 被比较对象类型- Parameters:
c1- 对象1,可以为nullc2- 对象2,可以为null- Returns:
- c1是否小于c2
- See Also:
-
le
c1是否小于或等于c2,通过调用compare(c1, c2) <= 0完成- Type Parameters:
T- 被比较对象类型- Parameters:
c1- 对象1,可以为nullc2- 对象2,可以为null- Returns:
- c1是否小于或等于c2
- See Also:
-
isIn
给定的value是否在c1和c2的范围内 即min(c1,c2) <= value <= max(c1,c2)- Type Parameters:
T- 被比较对象类型- Parameters:
value- 检查的对象,可以为nullc1- 对象1,可以为nullc2- 对象2,可以为null- Returns:
- 给定的
value是否在c1和c2的范围内
-
isInExclusive
给定的value是否在c1和c2的范围内,但是不包括边界 即min(c1,c2) < value < max(c1,c2)- Type Parameters:
T- 被比较对象类型- Parameters:
value- 检查的对象,可以为nullc1- 对象1,可以为nullc2- 对象2,可以为null- Returns:
- c1是否小于或等于c2
- See Also:
-