JAVA 将一个对象的所有字段值 赋给另一个 对象
如题,这种场景其实项目里使用场景很多,经常需要进行这种对象值的复用,但是又怕使用不准确,影响到原对象的值。
那么该篇文章介绍一个方法,简单粗暴,就是使用BeanUtils。
所以我们使用的是:
简单示例:
Dog,里面有两个字段(构造方法,setget省略):
而SpecialDog里面有三个字段,其中name和age是一样的,但是多了一个nickName字段,
一般经常看到这种代码:
现在只需要:
BeanUtils.copyProperties(dog, specialDog);
把dog字段属性赋值给specialDog。
检验一下:
public static void main(String[] args) throws Exception {
Dog dog=new Dog("kiki",1);
SpecialDog specialDog=new SpecialDog();
BeanUtils.copyProperties(dog, specialDog);
dog.setName("lulu");
System.out.println(specialDog.toString());
System.out.println(dog.toString());
}
结果:
可以看到属性值已经赋值成功了,而且修改dog不影响specialDog的属性(注意这里的场景没有涉及到引用别的对象的使用,如果涉及到要注意了,BeanUtils.copyProperties是浅拷贝 ,浅拷贝出来的对象和原对象 中 的引用的对象都会同时受修改影响,因为浅拷贝出来,类内引用的其他对象都是同个对象)。
OK,该篇介绍就到此吧。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~