BeanUtils.copyProperties不能copy复杂对象List的解决方式
需要注意的就是把List拆分,遍历add,然后把list设置到返回对象中
package test.test; import java.util.ArrayList; import java.util.List; import org.springframework.beans.BeanUtils; import com.alibaba.fastjson.JSON; import test.entity.Book; import test.entity.Classs; import test.entity.Student; import test.entity.Teacher; public class Test { public static void main(String[] args) { Classs c = new Classs(); c.setClassName("班级1"); List<Student> sl1 = new ArrayList<>(); List<Book> bl1 = new ArrayList<>(); Student s1 = new Student(); Book b1 = new Book(); b1.setName("傲慢与偏见"); b1.setNumber(498); bl1.add(b1); s1.setBookList(bl1); s1.setAddress("龙华民治街道"); s1.setClassName("班级1"); s1.setName("小红"); sl1.add(s1); c.setStuList(sl1); List<Teacher> tl1 = new ArrayList<>(); Teacher t1 = new Teacher(); t1.setName("张三"); t1.setAddress("深圳南山"); tl1.add(t1); c.setTeaList(tl1); // System.out.println(JSON.toJSON(c)); test.entity2.Classs c2 = new test.entity2.Classs(); BeanUtils.copyProperties(c, c2); List<test.entity2.Student> sl2 = new ArrayList<>(); for (Student stu1 : sl1) { test.entity2.Student stu2 = new test.entity2.Student(); BeanUtils.copyProperties(stu1, stu2); List<test.entity2.Book> bl2 = new ArrayList<>(); for (Book bo1 : stu1.getBookList()) { test.entity2.Book b2 = new test.entity2.Book(); BeanUtils.copyProperties(bo1, b2); bl2.add(b2); } stu2.setBookList(bl2); sl2.add(stu2); } c2.setStuList(sl2); List<test.entity2.Teacher> tl2 = new ArrayList<>(); for (Teacher tea1 : tl1) { test.entity2.Teacher tea2 = new test.entity2.Teacher(); BeanUtils.copyProperties(tea1, tea2); tl2.add(tea2); } c2.setTeaList(tl2); System.out.println(JSON.toJSON(c2)); } }
分类:
J2SE
posted on 2017-11-13 09:49 nickTimer 阅读(22457) 评论(1) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具