Class BeanUtil

  • Direct Known Subclasses:
    U.B

    public class BeanUtil
    extends java.lang.Object
    Bean工具类
    Author:
    WD
    • Constructor Summary

      Constructors 
      Constructor Description
      BeanUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> T copy​(java.lang.Object source, java.lang.Class<T> entity)
      拷贝属性
      static <T> T copy​(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对应的值赋给Object
      static <T> T copy​(java.util.Map<?,​?> map, java.lang.Class<T> dest)
      把Map的Key与Class的实例属性相同的字段赋值 就是把Map对应的值赋给Object
      static <T> T copy​(java.util.Map<?,​?> map, T dest)
      把Map的Key与Object属性相同的字段赋值 就是把Map对应的值赋给Object
      static java.lang.reflect.Field getField​(java.lang.Class<?> clazz, int i)
      获得Class的字段
      static java.lang.reflect.Field getField​(java.lang.Class<?> clazz, java.lang.String name)
      获得Class的字段
      static java.lang.reflect.Field getField​(java.lang.Object object, int i)
      获得对象的字段
      static java.lang.reflect.Field getField​(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.Object getFieldValue​(java.lang.Object object, java.lang.reflect.Field field)
      直接读取对象属性值, 无视private/protected修饰符, 不经过getter函数.
      static java.lang.Object getFieldValue​(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.Method getMethod​(java.lang.Object obj, java.lang.String name, java.lang.Class<?>... parameterTypes)
      获得对象的方法
      static java.lang.Object invoke​(java.lang.Object obj, java.lang.reflect.Method method, java.lang.Object... args)
      直接调用对象方法
      static java.lang.Object invoke​(java.lang.Object object, java.lang.String name)
      直接调用对象方法
      static java.lang.Object invoke​(java.lang.Object object, java.lang.String name, java.lang.Class<?>[] parameterTypes, java.lang.Object[] parameters)
      直接调用对象方法
      static void setFieldValue​(java.lang.Object object, int i, java.lang.Object value)
      直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数
      static void setFieldValue​(java.lang.Object object, java.lang.reflect.Field field, java.lang.Object value)
      直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数.
      static void setFieldValue​(java.lang.Object object, java.lang.String fieldName, java.lang.Object value)
      直接设置对象属性值, 无视private/protected修饰符, 不经过setter函数
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BeanUtil

        public BeanUtil()
    • 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 - Class
        i - 字段序号
        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 - Class
        name - 字段名
        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:
        方法