通过反射克隆对象,对象复制(克隆)工具类

本文介绍了一种在项目中处理视图到实体对象转换问题的方法,通过创建一个工具类,利用反射技术实现对象的复制与克隆。当需要避免对象间的属性修改互相影响时,此工具类能快速复制一份属性相同的新对象。文章提供了三个不同适用场景的方法,并指出此问题也可通过JSON转换方式解决,但需处理字段不一致的情况。
摘要由CSDN通过智能技术生成

       最近做的项目中,经常会遇到用视图来操作数据库的,但是页面需要的则是某个实体对象,在controller层查出list<view> 还要把将view对象转化成entity对象。需要写一大堆的get和set方法,而且如果实体增删字段的话,还需要把转化代码再修改一下,让人头疼。


       当我需要操作一个实体对象完成两件不同的事情,这2个方法中会修改实体对象中的属性,第一个方法调用后,再调用第二个方法时,会受影响。为了保证不受影响,必须copy一份属性值一模一样的实体。这时候就需要一个工具类来完成了。


       本着磨刀不误砍柴工的原则,抄起键盘,随手写了一个转换对象的工具类。要求2个对象的字段基本上一致。基本原理就是通过反射,获取set方法,调用源对象的get方法获取源对象的值,再通过目标对象的set方法,将值写入目标对象。具体代码如下:


package com.kaiyuan.common.util;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

import org.slf4j.L
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值