当前位置: 首页 > 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.rkmt.cn/news/10735.html

相关文章:

  • WoTerm、WindTerm及putty的性能测试对比
  • Python - csv.writer()
  • BM25 关键词检索算法
  • 55.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--实现手机邮箱登录 - 实践
  • 详细介绍:Xilinx系列FPGA实现12G-SDI音视频编解码,支持4K60帧分辨率,提供2套工程源码和技术支持
  • 使用 VMware Workstation 安装 CentOS-7 虚拟机
  • uv Python安装镜像加速
  • AT_arc167_c [ARC167C] MST on Line++
  • CentOS操作系统
  • window系统下使用二进制包安装MySQL数据库
  • 在Vona ORM中实现多数据库/多数据源
  • sql over()函数使用
  • 小柏实战学习Liunx(图文教程三十二)
  • VPX处理板设计原理图:9-基于DSP TMS320C6678+FPGA XC7V690T的6U VPX信号处理卡 C6678板卡, XC7VX690T板卡, VPX处理板
  • VitePress 添加友链界面
  • 洛谷题单指南-进阶数论-P1495 【模板】中国剩余定理(CRT)/ 曹冲养猪
  • 发现5个宝藏文件摆渡系统 2025年企业首选的摆渡方案是这个!
  • BilldDesk:基于Vue3+WebRTC+Nodejs+Electron的开源远程桌面控制 - 详解
  • 查看linux部署网站的TLS版本号
  • 按照DDD的方式写的一个.net有关Web项目框架
  • 【习题答案】《深入理解计算机系统(原书第三版)》
  • 软件体系结构——负载均衡 - 指南
  • Qwen3-Max 2025年完整发布解析:阿里巴巴最强AI模型深度评测
  • css-伪元素清除浮动
  • 在K8S中,Deployment⽀持扩容吗?它与HPA有什么区别?
  • ABC424 游记(VP)
  • Java实现大乐透历史是否中奖查询
  • HTTP Request Blocker的下载与使用 - 实践
  • NeurIPS 2025 spotlight |FSDrive 自动驾驶最新VLA+世界模型 - 详解
  • 主要测试的测试用例