public class ObjectUtil extends Object
| 构造器和说明 |
|---|
ObjectUtil() |
| 限定符和类型 | 方法和说明 |
|---|---|
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> 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)
反序列化
对象必须实现Serializable接口 |
static int |
emptyCount(Object... objs)
存在多少个
null或空对象,通过isEmpty(Object) 判断元素 |
static boolean |
equal(Object obj1,
Object obj2)
比较两个对象是否相等。
|
static Class<?> |
getTypeArgument(Object obj)
获得给定类的第一个泛型参数
|
static Class<?> |
getTypeArgument(Object obj,
int index)
获得给定类的第一个泛型参数
|
static boolean |
hasEmpty(Object... objs)
是否存在
null或空对象,通过isEmpty(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
|
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)转换 |
static <T> T |
unserialize(byte[] bytes)
反序列化
对象必须实现Serializable接口 |
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)
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 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)
T - 对象类型bytes - 反序列化的字节码unserialize(byte[])public static <T> T unserialize(byte[] bytes)
T - 对象类型bytes - 反序列化的字节码public static boolean isBasicType(Object object)
object - 被检查对象ClassUtil.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 hasEmpty(Object... objs)
null或空对象,通过isEmpty(Object) 判断元素objs - 被检查对象public static boolean isAllEmpty(Object... objs)
null或空对象,通过isEmpty(Object) 判断元素objs - 被检查的对象,一个或者多个public static boolean isAllNotEmpty(Object... objs)
null或空对象,通过isEmpty(Object) 判断元素objs - 被检查的对象,一个或者多个Copyright © 2023. All rights reserved.