当前位置: 首页 > news >正文

BeanUtils中的copyProperties方法使用和分析

BeanUtils.copyProperties

这个方法常用来对象映射,以减去繁琐的get set过程

copyProperties(源对象,目标对象, 可编辑的类,可以忽略的属性)

第三个我们需要看一下,他的源码是这样写的

Class<?> actualEditable = target.getClass();if (editable != null) {if (!editable.isInstance(target)) {throw new IllegalArgumentException("Target class [" + target.getClass().getName() + "] not assignable to Editable class [" + editable.getName() + "]");}actualEditable = editable;}

其实这个还是有他存在的必要的,尤其是当出现父类子类的情况下

例如,我现在有一个子类,我想复制自己的字段给另一个对象,但是只需要传父类的属性,这里有两种做法:

  • 填写第四个参数
  • 第三个参数里面写父类.class

这里我有一个父类Blog,有一个属性id;和一个子类BlogDetail有一个属性content


BlogDetail d = new BlogDetail();BlogDetail d2 = new BlogDetail();BlogDetail d3 = new BlogDetail();d.setId(1L);d.setContent("123");BeanUtils.copyProperties(d, d2, Blog.class);BeanUtils.copyProperties(d, d3);System.out.println(d2);System.out.println(d3);

最后结果如下:
img

http://www.hskmm.com/?act=detail&tid=15581

相关文章:

  • VUE + Nginx + Traefik 项目的发布与反向代理
  • CF *3500
  • CF *3400
  • 深度优先检索:单词搜索
  • WoTerm、WindTerm及putty的性能测试对比
  • CF333E Summer Earnings
  • 一文看懂Playwright MCP如何引爆AI智能体爆发
  • 从nano banana模型到更加真实的3D打印技术
  • 职业卡点怎么破?3个月私教服务助你升级技能与面试技巧
  • OI?原来这么简单-语法算法入门篇
  • 跨境tk避雷proxy-cheap代理服务商!!!
  • Rouyan:使用WPF/C#构建的基于LLM的快捷翻译小工具
  • BM25 关键词检索算法
  • 记录用户业务请求日志
  • [C++:类的默认成员函数——Lesson7.const成员函数] - 指南
  • 详细介绍:Xilinx系列FPGA实现12G-SDI音视频编解码,支持4K60帧分辨率,提供2套工程源码和技术支持
  • 使用 VMware Workstation 安装 CentOS-7 虚拟机
  • K12教育 和 STEAM教育
  • AT_arc167_c [ARC167C] MST on Line++
  • Lombok无法使用get set方法
  • redis的哈希扩容
  • vite tailwindcss配置
  • 在Vona ORM中实现多数据库/多数据源
  • 实用指南:python全栈-数据可视化
  • sql over()函数使用
  • Git回退版本 reset、revert、read-tree、restore
  • Avalonia 背景颜色Transparent在用户界面设计中对悬浮效果影响的总结
  • 飞书 燕千云焕新上线,飞书用户即刻试用ITSM工具
  • 如果使用微软 Azure 托管的 OpenAI 服务
  • Python类