public class ObjectUtils extends Object
| Constructor and Description |
|---|
ObjectUtils() |
| Modifier and Type | Method and Description |
|---|---|
static <T> void |
cleanInitValue(T bean)
清空对象中所有属性的初始值
|
static <T> T |
clone(T obj)
克隆对象
如果对象实现Cloneable接口,调用其clone方法
如果实现Serializable接口,执行深度克隆
否则返回null
|
static <T> T |
cloneByStream(T obj)
序列化后拷贝流的方式克隆
对象必须实现Serializable接口
|
static <T> T |
CloneObject(Class<T> clazz,
Object bean)
克隆有序列化的对象
|
static <T> T |
CloneObject(T bean)
克隆有序列化的对象
|
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)
对象中是否包含元素
|
static <T> T |
defaultIfNull(T object,
T defaultValue)
如果给定对象为
null返回默认值 |
static <T> T |
deserialize(byte[] bytes)
byte反序列化
对象必须实现Serializable接口
|
static boolean |
equal(byte[] byte1,
byte[] byte2)
比较两个摘要是否相等
|
static boolean |
equal(Object obj1,
Object obj2)
比较两个对象是否相等
|
static Field[] |
getAllFields(Object object)
获取包括父类所有的属性
|
static Object |
getAttributeValue(Object obj,
String attrName)
从对象中取值
|
static Class |
getClassByName(String classAllName)
依据class的名称获取对应class
|
static <T> T |
getDiff(T oldBean,
T newBean) |
static Map<String,Class> |
getFieldNames(Class clazz)
获取类的所有属性与属性的类型
|
static Map<String,Object> |
getFields(Object bean)
获取对象中的所有属性
|
static <T> Class<T> |
getGeneric(Class clazz)
依据类,获取该类的泛型class
|
static Map<String,Object> |
getNotNullFields(Object bean)
获取对象中的非空属性(属性如果是对象,则只会在同一个map中新增,不会出现map嵌套情况)
(不会清空初始值)
|
static Map<String,Object> |
getNotNullFields(Object bean,
boolean hasInitValue)
获取对象中的非空属性(属性如果是对象,则只会在同一个map中新增,不会出现map嵌套情况)
|
static Map<String,Object> |
getNotNullFieldsForStructure(Object bean)
获取对象中的非空属性(属性如果是对象,则会嵌套map)
|
static Map<String,List<String>> |
getNotNullFieldsParam(Object bean)
获取对象中的非空属性(属性如果是对象,则只会在同一个map中新增,不会出现map嵌套情况)
(不会清空初始值)
|
static Map<String,List<String>> |
getNotNullFieldsParam(Object bean,
boolean hasInitValue)
获取对象中的非空属性(属性如果是对象,则只会在同一个map中新增,不会出现map嵌套情况)
|
static void |
identityToString(Appendable appendable,
Object object)
如果类没有覆盖toString本身,则附加由
Object生成的toString. |
static String |
identityToString(Object object)
获取如果类没有覆盖toString本身,则
Object将生成的toString. |
static void |
identityToString(StrBuilder builder,
Object object)
如果类没有覆盖toString本身,则附加由
Object生成的toString. |
static void |
identityToString(StringBuffer buffer,
Object object)
如果类没有覆盖toString本身,则附加由
Object生成的toString. |
static void |
identityToString(StringBuilder builder,
Object object)
如果类没有覆盖toString本身,则附加由
Object生成的toString. |
static <T> T |
initObject(Class<T> clazz,
Map<String,Object> attrMap)
初始化对象
|
static void |
insertObj(Object baseData,
Object newData)
将新数据的非空属性值插入到基本数据中
|
static boolean |
isArray(Object object)
确定给定的对象是一个数组:对象数组还是基元数组
|
static boolean |
isBaseClass(Object value)
校验是否是九种基础类型(即:非用户定义的类型)
|
static boolean |
isEmpty(Object... object)
判断对象是否Empty(null或元素为0)
实用于对如下对象做判断:String Collection及其子类 Map及其子类
|
static boolean |
isFalse(Boolean object)
判断对象为false
|
static boolean |
isNotEmpty(Object... object)
判断对象是否为NotEmpty(!null或元素大于0)
实用于对如下对象做判断:String Collection及其子类 Map及其子类
|
static boolean |
isNotNull(Object obj)
检查对象是否不为null
|
static boolean |
isNull(Object obj)
检查对象是否为null
|
static boolean |
isTrue(Boolean object)
判断对象为true
|
static boolean |
isValidIfNumber(Object obj)
检查是否为有效的数字
检查Double和Float是否为无限大,或者Not a Number
非数字类型和Null将返回true
|
static int |
length(Object obj)
计算对象长度,如果是字符串调用其length函数,
集合类调用其size函数, 数组调用其length属性,
其他可遍历对象遍历计算长度
|
static boolean |
notEqual(Object obj1,
Object obj2)
比较两个对象是否不相等
|
static boolean |
nullSafeEquals(Object o1,
Object o2)
确定给定的对象是否相等,如果两个对象都是
null,
则返回true;如果只有一个对象是null,
则返回false |
static <T> T |
parseByteForObj(byte[] bts)
将byte字节转换成对象
|
static byte[] |
parseObjForByte(Object obj)
将对象转换为byte数据
|
static <T> T |
parseToObject(Object value,
Class<T> type)
转换类型
|
static <T> byte[] |
serialize(T obj)
对象序列化
对象必须实现Serializable接口
|
static void |
setAttribute(Object obj,
String attrName,
Object value)
给对象的属性赋值
|
static String |
toBase64(Object obj)
将对象序列化后进行base64处理
|
static byte[] |
toByte(Object obj)
将对象进行序列化
|
static <T> T |
toObject(byte[] bts)
将序列化数据转换为对象
|
static <T> T |
toObject(String base64)
将base64的序列化数据转换为对象
|
static Object[] |
toObjectArray(Object source)
将给定的数组(可能是原始数组)转换为对象数组(如果需要原始包装器对象)
一个
null源值将被转换为一个空的对象数组. |
static String |
toString(Object obj)
将Object转为String
策略为:
|
static void |
transMap2Bean(Map<String,Object> map,
Object obj) |
public static boolean isNull(Object obj)
obj - 对象public static boolean isNotNull(Object obj)
obj - 对象public static <T> T defaultIfNull(T object,
T defaultValue)
null返回默认值T - 对象类型object - 被检查对象,可能为nulldefaultValue - 被检查对象为null返回的默认值,可以为nullpublic static boolean isTrue(Boolean object)
object - 对象public static boolean isFalse(Boolean object)
object - 对象public static boolean isArray(Object object)
object - 要检查的对象public static final boolean isEmpty(Object... object)
object - 待检查对象public static final boolean isNotEmpty(Object... object)
object - 待检查对象public static boolean isValidIfNumber(Object obj)
obj - 被检查类型public static boolean equal(Object obj1, Object obj2)
obj1 - 对象1obj2 - 对象2public static boolean equal(byte[] byte1,
byte[] byte2)
byte1 - 字节比较信息1byte2 - 字节比较信息2public 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 <T> T clone(T obj)
T - 对象类型obj - 被克隆对象public static String toString(Object obj)
1、null转为"null" 2、调用Convert.toStr(Object)转换
obj - Bean对象public static <T> T cloneByStream(T obj)
T - 对象类型obj - 被克隆对象InstrumentException - IO异常和ClassNotFoundException封装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 Field[] getAllFields(Object object)
object - 对象public static <T> T getDiff(T oldBean,
T newBean)
T - 对象oldBean - 原对象newBean - 新对象public static String toBase64(Object obj)
obj - 对象public static byte[] toByte(Object obj)
obj - 对象public static <T> T toObject(String base64)
T - 对象base64 - 经过base64的序列化对象数据public static <T> T toObject(byte[] bts)
T - 对象bts - 序列化后的对象数据public static Class getClassByName(String classAllName)
classAllName - 类的全称(如: java.lang.String)public static <T> T initObject(Class<T> clazz, Map<String,Object> attrMap)
T - 对象clazz - 创建的对象的类型attrMap - 初始对象的属性值public static void setAttribute(Object obj, String attrName, Object value)
obj - 对象attrName - 对象的属性名value - 对象的属性值public static Object getAttributeValue(Object obj, String attrName)
obj - 对象attrName - 要取值的属性名public static Map<String,Object> getFields(Object bean)
bean - 对象public static Map<String,Class> getFieldNames(Class clazz)
clazz - 类public static Map<String,Object> getNotNullFields(Object bean, boolean hasInitValue)
bean - 对象hasInitValue - 是否过滤掉初始值(true:过滤掉)public static Map<String,Object> getNotNullFields(Object bean)
bean - 对象public static Map<String,List<String>> getNotNullFieldsParam(Object bean)
request param
bean - 对象public static Map<String,List<String>> getNotNullFieldsParam(Object bean, boolean hasInitValue)
bean - 对象hasInitValue - 是否过滤掉初始值(true:过滤掉)public static Map<String,Object> getNotNullFieldsForStructure(Object bean)
bean - 对象public static <T> Class<T> getGeneric(Class clazz)
T - 对象clazz - 类对象public static <T> T parseByteForObj(byte[] bts)
T - 对象bts - 字节数据public static byte[] parseObjForByte(Object obj)
obj - 对象public static <T> T parseToObject(Object value, Class<T> type)
T - 对象value - 字符串的值type - 要转换的类型public static boolean isBaseClass(Object value)
value - 字符串的值 要校验的值public static <T> T CloneObject(Class<T> clazz, Object bean)
T - 要返回的数据类型clazz - 反射类bean - 所有继承过BaseBean的对象public static <T> T CloneObject(T bean)
T - 要返回的数据类型bean - 要克隆的对象public static void insertObj(Object baseData, Object newData)
baseData - 基本数据newData - 新数据public static <T> void cleanInitValue(T bean)
T - 对象bean - 对象public static String identityToString(Object object)
Object将生成的toString.
null将返回null
ObjectUtils.identityToString(null) = null
ObjectUtils.identityToString("") = "java.lang.String@1e23"
ObjectUtils.identityToString(Boolean.TRUE) = "java.lang.Boolean@7fa"
object - 创建toString的对象可以是nullnull,则默认的toString文本或nullpublic static void identityToString(Appendable appendable, Object object) throws IOException
Object生成的toString.
null将为这两个参数中的任何一个抛出NullPointerException
ObjectUtils.identityToString(appendable, "") = appendable.append("java.lang.String@1e23"
ObjectUtils.identityToString(appendable, Boolean.TRUE) = appendable.append("java.lang.Boolean@7fa"
ObjectUtils.identityToString(appendable, Boolean.TRUE) = appendable.append("java.lang.Boolean@7fa")
appendable - 可以附加的信息object - 要为其创建toString的对象IOException - 如果发生I/O错误public static void identityToString(StrBuilder builder, Object object)
Object生成的toString.
null将为这两个参数中的任何一个抛出NullPointerException
ObjectUtils.identityToString(builder, "") = builder.append("java.lang.String@1e23"
ObjectUtils.identityToString(builder, Boolean.TRUE) = builder.append("java.lang.Boolean@7fa"
ObjectUtils.identityToString(builder, Boolean.TRUE) = builder.append("java.lang.Boolean@7fa")
builder - 要附加到的生成器object - 要为其创建toString的对象public static void identityToString(StringBuffer buffer, Object object)
Object生成的toString.
null将为这两个参数中的任何一个抛出NullPointerException
ObjectUtils.identityToString(buf, "") = buf.append("java.lang.String@1e23"
ObjectUtils.identityToString(buf, Boolean.TRUE) = buf.append("java.lang.Boolean@7fa"
ObjectUtils.identityToString(buf, Boolean.TRUE) = buf.append("java.lang.Boolean@7fa")
buffer - 要追加的缓冲区object - 要为其创建toString的对象public static void identityToString(StringBuilder builder, Object object)
Object生成的toString.
null将为这两个参数中的任何一个抛出NullPointerException
ObjectUtils.identityToString(builder, "") = builder.append("java.lang.String@1e23"
ObjectUtils.identityToString(builder, Boolean.TRUE) = builder.append("java.lang.Boolean@7fa"
ObjectUtils.identityToString(builder, Boolean.TRUE) = builder.append("java.lang.Boolean@7fa")
builder - 要附加到的生成器object - 要为其创建toString的对象public static boolean nullSafeEquals(Object o1, Object o2)
null,
则返回true;如果只有一个对象是null,
则返回falseo1 - 第一个比较对象o2 - 第二个比较对象Object.equals(Object),
Arrays.equals(long[], long[])public static Object[] toObjectArray(Object source)
null源值将被转换为一个空的对象数组.source - 数组public static <T> byte[] serialize(T obj)
T - 对象类型obj - 要被序列化的对象public static <T> T deserialize(byte[] bytes)
T - 对象类型bytes - 反序列化的字节码Copyright © 2020. All rights reserved.