Package com.weicoder.common.util
Class BeanUtil
- java.lang.Object
-
- com.weicoder.common.util.BeanUtil
-
- Direct Known Subclasses:
U.B
public class BeanUtil extends java.lang.ObjectBean工具类- Author:
- WD
-
-
Constructor Summary
Constructors Constructor Description BeanUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> Tcopy(java.lang.Object source, java.lang.Class<T> entity)拷贝属性static <T> Tcopy(java.lang.Object source, T target)拷贝属性static <T> java.util.List<T>copy(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> list, java.lang.Class<T> dest)把Map的Key与Class的实例属性相同的字段赋值 就是把Map对应的值赋给Objectstatic <T> Tcopy(java.util.Map<?,?> map, java.lang.Class<T> dest)把Map的Key与Class的实例属性相同的字段赋值 就是把Map对应的值赋给Objectstatic <T> Tcopy(java.util.Map<?,?> map, T dest)把Map的Key与Object属性相同的字段赋值 就是把Map对应的值赋给Objectstatic java.lang.reflect.FieldgetField(java.lang.Class<?> clazz, int i)获得Class的字段static java.lang.reflect.FieldgetField(java.lang.Class<?> clazz, java.lang.String name)获得Class的字段static java.lang.reflect.FieldgetField(java.lang.Object object, int i)获得对象的字段static java.lang.reflect.FieldgetField(java.lang.Object object, java.lang.String name)获得对象的字段static java.util.List<java.lang.reflect.Field>getFields(java.lang.Class<?> clazz)循环向上转型, 获取对象的DeclaredField.static java.lang.ObjectgetFieldValue(java.lang.Object object, java.lang.reflect.Field field)直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数.static java.lang.ObjectgetFieldValue(java.lang.Object object, java.lang.String fieldName)直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数.static java.util.List<java.lang.Object>getFieldValues(java.lang.Object obj)获得本类下所有字段值static java.util.List<java.lang.Object>getFieldValues(java.util.Collection<?> list, java.lang.String fieldName)直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数.static java.lang.reflect.MethodgetMethod(java.lang.Object obj, java.lang.String name, java.lang.Class<?>... parameterTypes)获得对象的方法static java.lang.Objectinvoke(java.lang.Object obj, java.lang.reflect.Method method, java.lang.Object... args)直接调用对象方法static java.lang.Objectinvoke(java.lang.Object object, java.lang.String name)直接调用对象方法static java.lang.Objectinvoke(java.lang.Object object, java.lang.String name, java.lang.Class<?>[] parameterTypes, java.lang.Object[] parameters)直接调用对象方法static voidsetFieldValue(java.lang.Object object, int i, java.lang.Object value)直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数static voidsetFieldValue(java.lang.Object object, java.lang.reflect.Field field, java.lang.Object value)直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数.static voidsetFieldValue(java.lang.Object object, java.lang.String fieldName, java.lang.Object value)直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数
-
-
-
Method Detail
-
copy
public static <T> T copy(java.lang.Object source, java.lang.Class<T> entity)拷贝属性- Type Parameters:
T- 泛型- Parameters:
source- 原对象entity- 目标类- Returns:
- 目标对象
-
copy
public static <T> T copy(java.lang.Object source, T target)拷贝属性- Type Parameters:
T- 泛型- Parameters:
source- 原对象target- 目标对象- Returns:
- 目标对象
-
copy
public static <T> T copy(java.util.Map<?,?> map, T dest)把Map的Key与Object属性相同的字段赋值 就是把Map对应的值赋给Object- Type Parameters:
T- 泛型- Parameters:
map- 源对象dest- 目标对象- Returns:
- dest 目标对象
-
copy
public static <T> T copy(java.util.Map<?,?> map, java.lang.Class<T> dest)把Map的Key与Class的实例属性相同的字段赋值 就是把Map对应的值赋给Object注: 此方法回返回Class的一个新实例对象
- Type Parameters:
T- 泛型- Parameters:
map- 源对象dest- 目标对象的Class用dest.newInstance()生成一个新的实例 *- Returns:
- dest 目标对象的新实例
-
copy
public static <T> java.util.List<T> copy(java.util.List<java.util.Map<java.lang.String,java.lang.Object>> list, java.lang.Class<T> dest)把Map的Key与Class的实例属性相同的字段赋值 就是把Map对应的值赋给Object- Type Parameters:
T- 泛型- Parameters:
dest- 目标对象的E用dest.getClass().newInstance()生成一个新的实例list- map对象列表- Returns:
- 转换后的对象
-
getFieldValues
public static java.util.List<java.lang.Object> getFieldValues(java.util.Collection<?> list, java.lang.String fieldName)直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数.- Parameters:
list- 列表fieldName- 属性名- Returns:
- 属性值
-
getFieldValues
public static java.util.List<java.lang.Object> getFieldValues(java.lang.Object obj)
获得本类下所有字段值- Parameters:
obj- 对象- Returns:
- 列表
-
getFieldValue
public static java.lang.Object getFieldValue(java.lang.Object object, java.lang.String fieldName)直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数.- Parameters:
object- 调用的对象fieldName- 属性名- Returns:
- 属性值
-
getFieldValue
public static java.lang.Object getFieldValue(java.lang.Object object, java.lang.reflect.Field field)直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数.- Parameters:
object- 调用的对象field- 字段- Returns:
- 属性值
-
setFieldValue
public static void setFieldValue(java.lang.Object object, java.lang.String fieldName, java.lang.Object value)直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数- Parameters:
object- 对象fieldName- 字段名value- 值
-
setFieldValue
public static void setFieldValue(java.lang.Object object, int i, java.lang.Object value)直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数- Parameters:
object- 对象i- 字段索引value- 值
-
setFieldValue
public static void setFieldValue(java.lang.Object object, java.lang.reflect.Field field, java.lang.Object value)直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数.- Parameters:
object- 对象field- 字段value- 值
-
invoke
public static java.lang.Object invoke(java.lang.Object obj, java.lang.reflect.Method method, java.lang.Object... args)直接调用对象方法- Parameters:
obj- 调用的对象method- 方法args- 参数- Returns:
- 方法返回值
-
invoke
public static java.lang.Object invoke(java.lang.Object object, java.lang.String name)直接调用对象方法- Parameters:
object- 调用的对象name- 方法名- Returns:
- 方法返回值
-
invoke
public static java.lang.Object invoke(java.lang.Object object, java.lang.String name, java.lang.Class<?>[] parameterTypes, java.lang.Object[] parameters)直接调用对象方法- Parameters:
object- 调用的对象name- 方法名parameterTypes- 参数类型parameters- 参数- Returns:
- 方法返回值
-
getField
public static java.lang.reflect.Field getField(java.lang.Object object, int i)获得对象的字段- Parameters:
object- 对象i- 字段序号- Returns:
- 字段
-
getField
public static java.lang.reflect.Field getField(java.lang.Class<?> clazz, int i)获得Class的字段- Parameters:
clazz- Classi- 字段序号- Returns:
- 字段
-
getField
public static java.lang.reflect.Field getField(java.lang.Object object, java.lang.String name)获得对象的字段- Parameters:
object- 对象name- 字段名- Returns:
- 字段
-
getField
public static java.lang.reflect.Field getField(java.lang.Class<?> clazz, java.lang.String name)获得Class的字段- Parameters:
clazz- Classname- 字段名- Returns:
- 字段
-
getFields
public static java.util.List<java.lang.reflect.Field> getFields(java.lang.Class<?> clazz)
循环向上转型, 获取对象的DeclaredField. 如向上转型到Object仍无法找到, 返回null.- Parameters:
clazz- 类- Returns:
- 列表
-
getMethod
public static java.lang.reflect.Method getMethod(java.lang.Object obj, java.lang.String name, java.lang.Class<?>... parameterTypes)获得对象的方法- Parameters:
obj- 对象name- 方法parameterTypes- 参数类型- Returns:
- 方法
-
-