| Constructor and Description |
|---|
ObjectUtil() |
| Modifier and Type | Method and Description |
|---|---|
static <T> void |
accept(T source,
Consumer<T> consumer)
如果指定的对象不为
null,则执行Consumer处理source,否则不进行操作 |
static <T,R> R |
apply(T source,
Function<T,R> handler)
如果指定的对象不为
null,则应用提供的映射函数并返回结果,否则返回 null。 |
static <T> T |
clone(T obj)
克隆对象
如果对象实现Cloneable接口,调用其clone方法 如果实现Serializable接口,执行深度克隆 否则返回 null |
static <T> T |
cloneByStream(T obj)
序列化后拷贝流的方式克隆
对象必须实现Serializable接口 |
static <T> T |
cloneIfPossible(T obj)
返回克隆后的对象,如果克隆失败,返回原对象
|
static <T extends Comparable<? super T>> |
compare(T c1,
T c2)
null安全的对象比较,null对象排在末尾 |
static <T extends Comparable<? super T>> |
compare(T c1,
T c2,
boolean nullGreater)
null安全的对象比较 |
static boolean |
contains(Object obj,
Object element)
对象中是否包含元素
支持的对象类型包括: String Collection Map Iterator Enumeration Array |
static <T extends CharSequence> |
defaultIfBlank(T str,
Function<T,? extends T> defaultValueSupplier)
如果被检查对象为
null 或 "" 或 空白字符串时,返回默认值(由 defaultValueSupplier 提供);否则直接返回 |
static <T extends CharSequence> |
defaultIfBlank(T str,
Supplier<? extends T> defaultValueSupplier)
如果被检查对象为
null 或 "" 或 空白字符串时,返回默认值(由 defaultValueSupplier 提供);否则直接返回 |
static <T extends CharSequence> |
defaultIfBlank(T str,
T defaultValue)
如果给定对象为
null或者""或者空白符返回默认值
ObjectUtil.defaultIfBlank(null, null) = null
ObjectUtil.defaultIfBlank(null, "") = ""
ObjectUtil.defaultIfBlank("", "zz") = "zz"
ObjectUtil.defaultIfBlank(" ", "zz") = "zz"
ObjectUtil.defaultIfBlank("abc", *) = "abc"
|
static <T> T |
defaultIfEmpty(String str,
Function<CharSequence,? extends T> handle,
T defaultValue)
如果给定对象为
null或者""返回默认值, 否则返回自定义handle处理后的返回值 |
static <T> T |
defaultIfEmpty(String str,
Supplier<? extends T> handle,
T defaultValue)
Deprecated.
当str为
null时,handle使用了str相关的方法引用会导致空指针问题 |
static <T extends CharSequence> |
defaultIfEmpty(T str,
Function<T,? extends T> defaultValueSupplier)
如果被检查对象为
null 或 "" 时,返回默认值(由 defaultValueSupplier 提供);否则直接返回 |
static <T extends CharSequence> |
defaultIfEmpty(T str,
Supplier<? extends T> defaultValueSupplier)
如果被检查对象为
null 或 "" 时,返回默认值(由 defaultValueSupplier 提供);否则直接返回 |
static <T extends CharSequence> |
defaultIfEmpty(T str,
T defaultValue)
如果给定对象为
null或者 "" 返回默认值
ObjectUtil.defaultIfEmpty(null, null) = null
ObjectUtil.defaultIfEmpty(null, "") = ""
ObjectUtil.defaultIfEmpty("", "zz") = "zz"
ObjectUtil.defaultIfEmpty(" ", "zz") = " "
ObjectUtil.defaultIfEmpty("abc", *) = "abc"
|
static <T> T |
defaultIfNull(Object source,
Supplier<? extends T> handle,
T defaultValue)
Deprecated.
当str为
null时,handle使用了str相关的方法引用会导致空指针问题 |
static <T,R> T |
defaultIfNull(R source,
Function<R,? extends T> handle,
T defaultValue)
如果给定对象为
null 返回默认值, 如果不为null 返回自定义handle处理后的返回值 |
static <T> T |
defaultIfNull(T source,
Function<T,? extends T> defaultValueSupplier)
如果被检查对象为
null, 返回默认值(由 defaultValueSupplier 提供);否则直接返回 |
static <T> T |
defaultIfNull(T source,
Supplier<? extends T> defaultValueSupplier)
如果被检查对象为
null, 返回默认值(由 defaultValueSupplier 提供);否则直接返回 |
static <T> T |
defaultIfNull(T object,
T defaultValue)
如果给定对象为
null返回默认值
ObjectUtil.defaultIfNull(null, null) = null
ObjectUtil.defaultIfNull(null, "") = ""
ObjectUtil.defaultIfNull(null, "zz") = "zz"
ObjectUtil.defaultIfNull("abc", *) = "abc"
ObjectUtil.defaultIfNull(Boolean.TRUE, *) = Boolean.TRUE
|
static <T> T |
deserialize(byte[] bytes,
Class<?>... acceptClasses)
反序列化
对象必须实现Serializable接口 注意!!! |
static int |
emptyCount(Object... objs)
存在多少个
null或空对象,通过isEmpty(Object) 判断元素 |
static boolean |
equal(Object obj1,
Object obj2)
比较两个对象是否相等。
|
static boolean |
equals(Object obj1,
Object obj2)
比较两个对象是否相等,此方法是
equal(Object, Object)的别名方法。 |
static Class<?> |
getTypeArgument(Object obj)
获得给定类的第一个泛型参数
|
static Class<?> |
getTypeArgument(Object obj,
int index)
获得给定类的第一个泛型参数
|
static boolean |
hasEmpty(Object... objs)
是否存在
null或空对象,通过isEmpty(Object) 判断元素 |
static boolean |
hasNull(Object... objs)
是否存在
null对象,通过isNull(Object) 判断元素 |
static boolean |
isAllEmpty(Object... objs)
是否全都为
null或空对象,通过isEmpty(Object) 判断元素 |
static boolean |
isAllNotEmpty(Object... objs)
是否全都不为
null或空对象,通过isEmpty(Object) 判断元素 |
static boolean |
isBasicType(Object object)
是否为基本类型,包括包装类型和非包装类型
|
static boolean |
isEmpty(Object obj)
判断指定对象是否为空,支持:
1.
|
static boolean |
isNotEmpty(Object obj)
判断指定对象是否为非空,支持:
1.
|
static boolean |
isNotNull(Object obj)
检查对象是否不为null
1. !
|
static boolean |
isNull(Object obj)
检查对象是否为null
判断标准为: 1. == null 2. equals(null) |
static boolean |
isValidIfNumber(Object obj)
检查是否为有效的数字
检查Double和Float是否为无限大,或者Not a Number 非数字类型和Null将返回true |
static int |
length(Object obj)
计算对象长度,如果是字符串调用其length函数,集合类调用其size函数,数组调用其length属性,其他可遍历对象遍历计算长度
支持的类型包括: CharSequence Map Iterator Enumeration Array |
static boolean |
notEqual(Object obj1,
Object obj2)
比较两个对象是否不相等。
|
static <T> byte[] |
serialize(T obj)
序列化
对象必须实现Serializable接口 |
static String |
toString(Object obj)
将Object转为String
策略为: 1、null转为"null" 2、调用Convert.toStr(Object)转换 |
public static boolean equals(Object obj1, Object obj2)
equal(Object, Object)的别名方法。obj1 - 对象1obj2 - 对象2equal(Object, Object)public static boolean equal(Object obj1, Object obj2)
obj1 - 对象1obj2 - 对象2Objects.equals(Object, Object)public static boolean notEqual(Object obj1, Object obj2)
obj1 - 对象1obj2 - 对象2public static int length(Object obj)
obj - 被计算长度的对象public static boolean contains(Object obj, Object element)
obj - 对象element - 元素public static boolean isNull(Object obj)
1. == null 2. equals(null)
obj - 对象public static boolean isNotNull(Object obj)
1. != null 2. not equals(null)
obj - 对象public static boolean isEmpty(Object obj)
1. CharSequence 2. Map 3. Iterable 4. Iterator 5. Array
obj - 被判断的对象public static boolean isNotEmpty(Object obj)
1. CharSequence 2. Map 3. Iterable 4. Iterator 5. Array
obj - 被判断的对象public static <T> T defaultIfNull(T object,
T defaultValue)
null返回默认值
ObjectUtil.defaultIfNull(null, null) = null
ObjectUtil.defaultIfNull(null, "") = ""
ObjectUtil.defaultIfNull(null, "zz") = "zz"
ObjectUtil.defaultIfNull("abc", *) = "abc"
ObjectUtil.defaultIfNull(Boolean.TRUE, *) = Boolean.TRUE
T - 对象类型object - 被检查对象,可能为nulldefaultValue - 被检查对象为null返回的默认值,可以为nullnull返回默认值,否则返回原值public static <T> T defaultIfNull(T source,
Supplier<? extends T> defaultValueSupplier)
null, 返回默认值(由 defaultValueSupplier 提供);否则直接返回T - 对象类型source - 被检查对象defaultValueSupplier - 默认值提供者null返回默认值,否则返回自定义handle处理后的返回值NullPointerException - defaultValueSupplier == null 时,抛出public static <T> T defaultIfNull(T source,
Function<T,? extends T> defaultValueSupplier)
null, 返回默认值(由 defaultValueSupplier 提供);否则直接返回T - 对象类型source - 被检查对象defaultValueSupplier - 默认值提供者null返回默认值,否则返回自定义handle处理后的返回值NullPointerException - defaultValueSupplier == null 时,抛出@Deprecated public static <T> T defaultIfNull(Object source, Supplier<? extends T> handle, T defaultValue)
null时,handle使用了str相关的方法引用会导致空指针问题null 返回默认值, 如果不为null 返回自定义handle处理后的返回值T - 被检查对象为null返回默认值,否则返回自定义handle处理后的返回值source - Object 类型对象handle - 非空时自定义的处理方法defaultValue - 默认为空的返回值public static <T,R> T defaultIfNull(R source,
Function<R,? extends T> handle,
T defaultValue)
null 返回默认值, 如果不为null 返回自定义handle处理后的返回值T - 被检查对象为null返回默认值,否则返回自定义handle处理后的返回值R - 被检查的对象类型source - Object 类型对象handle - 非空时自定义的处理方法defaultValue - 默认为空的返回值public static <T,R> R apply(T source,
Function<T,R> handler)
null,则应用提供的映射函数并返回结果,否则返回 null。T - 输入对象的类型R - 映射函数的返回类型source - 要检查的对象handler - 要应用的映射函数public static <T> void accept(T source,
Consumer<T> consumer)
null,则执行Consumer处理source,否则不进行操作T - 输入对象的类型source - 要检查的对象consumer - source处理逻辑@Deprecated public static <T> T defaultIfEmpty(String str, Supplier<? extends T> handle, T defaultValue)
null时,handle使用了str相关的方法引用会导致空指针问题null或者""返回默认值, 否则返回自定义handle处理后的返回值T - 被检查对象为null或者 ""返回默认值,否则返回自定义handle处理后的返回值str - String 类型handle - 自定义的处理方法defaultValue - 默认为空的返回值public static <T> T defaultIfEmpty(String str, Function<CharSequence,? extends T> handle, T defaultValue)
null或者""返回默认值, 否则返回自定义handle处理后的返回值T - 被检查对象为null或者 ""返回默认值,否则返回自定义handle处理后的返回值str - String 类型handle - 自定义的处理方法defaultValue - 默认为空的返回值public static <T extends CharSequence> T defaultIfEmpty(T str, T defaultValue)
null或者 "" 返回默认值
ObjectUtil.defaultIfEmpty(null, null) = null
ObjectUtil.defaultIfEmpty(null, "") = ""
ObjectUtil.defaultIfEmpty("", "zz") = "zz"
ObjectUtil.defaultIfEmpty(" ", "zz") = " "
ObjectUtil.defaultIfEmpty("abc", *) = "abc"
T - 对象类型(必须实现CharSequence接口)str - 被检查对象,可能为nulldefaultValue - 被检查对象为null或者 ""返回的默认值,可以为null或者 ""null或者 ""返回默认值,否则返回原值public static <T extends CharSequence> T defaultIfEmpty(T str, Supplier<? extends T> defaultValueSupplier)
null 或 "" 时,返回默认值(由 defaultValueSupplier 提供);否则直接返回T - 对象类型(必须实现CharSequence接口)str - 被检查对象defaultValueSupplier - 默认值提供者null返回默认值,否则返回自定义handle处理后的返回值NullPointerException - defaultValueSupplier == null 时,抛出public static <T extends CharSequence> T defaultIfEmpty(T str, Function<T,? extends T> defaultValueSupplier)
null 或 "" 时,返回默认值(由 defaultValueSupplier 提供);否则直接返回T - 对象类型(必须实现CharSequence接口)str - 被检查对象defaultValueSupplier - 默认值提供者null返回默认值,否则返回自定义handle处理后的返回值NullPointerException - defaultValueSupplier == null 时,抛出public static <T extends CharSequence> T defaultIfBlank(T str, T defaultValue)
null或者""或者空白符返回默认值
ObjectUtil.defaultIfBlank(null, null) = null
ObjectUtil.defaultIfBlank(null, "") = ""
ObjectUtil.defaultIfBlank("", "zz") = "zz"
ObjectUtil.defaultIfBlank(" ", "zz") = "zz"
ObjectUtil.defaultIfBlank("abc", *) = "abc"
T - 对象类型(必须实现CharSequence接口)str - 被检查对象,可能为nulldefaultValue - 被检查对象为null或者 ""或者空白符返回的默认值,可以为null或者 ""或者空白符null或者 ""或者空白符返回默认值,否则返回原值public static <T extends CharSequence> T defaultIfBlank(T str, Supplier<? extends T> defaultValueSupplier)
null 或 "" 或 空白字符串时,返回默认值(由 defaultValueSupplier 提供);否则直接返回T - 对象类型(必须实现CharSequence接口)str - 被检查对象defaultValueSupplier - 默认值提供者null返回默认值,否则返回自定义handle处理后的返回值NullPointerException - defaultValueSupplier == null 时,抛出public static <T extends CharSequence> T defaultIfBlank(T str, Function<T,? extends T> defaultValueSupplier)
null 或 "" 或 空白字符串时,返回默认值(由 defaultValueSupplier 提供);否则直接返回T - 对象类型(必须实现CharSequence接口)str - 被检查对象defaultValueSupplier - 默认值提供者null返回默认值,否则返回自定义handle处理后的返回值NullPointerException - defaultValueSupplier == null 时,抛出public static <T> T clone(T obj)
nullT - 对象类型obj - 被克隆对象public static <T> T cloneIfPossible(T obj)
T - 对象类型obj - 对象public static <T> T cloneByStream(T obj)
T - 对象类型obj - 被克隆对象UtilException - IO异常和ClassNotFoundException封装public static <T> byte[] serialize(T obj)
T - 对象类型obj - 要被序列化的对象public static <T> T deserialize(byte[] bytes,
Class<?>... acceptClasses)
注意!!! 此方法不会检查反序列化安全,可能存在反序列化漏洞风险!!!
T - 对象类型bytes - 反序列化的字节码acceptClasses - 白名单的类public static boolean isBasicType(Object object)
object - 被检查对象,null返回falseClassUtil.isBasicType(Class)public static boolean isValidIfNumber(Object obj)
obj - 被检查类型public static <T extends Comparable<? super T>> int compare(T c1, T c2)
null安全的对象比较,null对象排在末尾T - 被比较对象类型c1 - 对象1,可以为nullc2 - 对象2,可以为nullComparator.compare(Object, Object)public static <T extends Comparable<? super T>> int compare(T c1, T c2, boolean nullGreater)
null安全的对象比较T - 被比较对象类型c1 - 对象1,可以为nullc2 - 对象2,可以为nullnullGreater - 当被比较对象为null时是否排在前面Comparator.compare(Object, Object)public static Class<?> getTypeArgument(Object obj)
obj - 被检查的对象Classpublic static Class<?> getTypeArgument(Object obj, int index)
obj - 被检查的对象index - 泛型类型的索引号,即第几个泛型类型Classpublic static String toString(Object obj)
1、null转为"null" 2、调用Convert.toStr(Object)转换
obj - Bean对象public static int emptyCount(Object... objs)
null或空对象,通过isEmpty(Object) 判断元素objs - 被检查的对象,一个或者多个null的数量public static boolean hasNull(Object... objs)
null对象,通过isNull(Object) 判断元素objs - 被检查对象ArrayUtil.hasNull(Object[])public static boolean hasEmpty(Object... objs)
null或空对象,通过isEmpty(Object) 判断元素objs - 被检查对象ArrayUtil.hasEmpty(Object...)public static boolean isAllEmpty(Object... objs)
null或空对象,通过isEmpty(Object) 判断元素objs - 被检查的对象,一个或者多个public static boolean isAllNotEmpty(Object... objs)
null或空对象,通过isEmpty(Object) 判断元素objs - 被检查的对象,一个或者多个Copyright © 2025. All rights reserved.