千家信息网

java中怎么实现实体类相互转换赋值

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章将为大家详细讲解有关java中怎么实现实体类相互转换赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。package com.yzw.mana
千家信息网最后更新 2025年02月01日java中怎么实现实体类相互转换赋值

这篇文章将为大家详细讲解有关java中怎么实现实体类相互转换赋值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

package com.yzw.manager.util;import java.lang.reflect.Field;import java.lang.reflect.Modifier;/** * yangzhiwei * 2个实体类相互转换赋值() * 字段名的类型和名称必须完全相同才可以,继承的父类字段无法赋值 * 代替set和get重复代码 */public class ReflectToBean {    public static Object transformToBean(Object source, Object target) {        // 得到类对象        Object o=null;        Class sourceCla = source.getClass();        Field[] sourceFields = sourceCla.getDeclaredFields();        Class targetCla = target.getClass();        Field[] targetFields = targetCla.getDeclaredFields();        try {           o  = targetCla.newInstance();            for (int i = 0; i < targetFields.length; i++) {                Field ft = targetFields[i];                // 设置些属性是可以访问的                boolean isStaticFt = Modifier.isStatic(ft.getModifiers());                if (isStaticFt) {                    continue;                }                // 设置些属性是可以访问的                ft.setAccessible(true);                for (int j = 0; j < sourceFields.length; j++) {                    Field fs = sourceFields[j];                    // 设置些属性是可以访问的                    boolean isStaticFs = Modifier.isStatic(fs.getModifiers());                    if (isStaticFs) {                        continue;                    }                    // 设置些属性是可以访问的                    fs.setAccessible(true);                    if (fs.getName().equals(ft.getName()) && fs.getType().toString().equals(ft.getType().toString())) {                        // 得到此属性的值                        Object val = fs.get(source);                        ft.set(o, val);                        break;                    }                }            }        } catch (Exception e) {            e.printStackTrace();        }        return o;    }}

关于java中怎么实现实体类相互转换赋值就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0