开发者社区> 问答> 正文

利用Java反射机制生成实体类

需求:利用Java反射机制生成实体类 障碍:无法通过Object获取变量名 伪代码如下;或者请给出更好的解决方案;

/**
 * 获取实体类
 *
 * @param object 实体类参数项
 * @return 实体类
 */
protected T getEntity(T t, Object... object) {
    Class<?> tClass = t.getClass();
    while (tClass != null) {
        Field[] declaredFields = tClass.getDeclaredFields();
        tClass = tClass.getSuperclass();
        for (Field field : declaredFields) {
            for (Object o : object) {
                Class<?> fClass = field.getClass();
                if (fClass.isInstance(o)) {
                    try {
                        field.setAccessible(true);
                        if (o.getName().equals(field.getName())) {
                            field.set(field, o);
                        }
                    } catch (IllegalAccessException e) {
                        e.printStackTrace();
                    }

                }
            }
        }
    }
    return t;
}

展开
收起
游客qspsaro6dguto 2022-09-22 14:36:08 321 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载