JAVA 将一个对象的所有字段值 赋给另一个 对象

2023-11-06

如题,这种场景其实项目里使用场景很多,经常需要进行这种对象值的复用,但是又怕使用不准确,影响到原对象的值。

那么该篇文章介绍一个方法,简单粗暴,就是使用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,该篇介绍就到此吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA 将一个对象的所有字段值 赋给另一个 对象 的相关文章

随机推荐

  • 极限导数练习题

    f x sinx 2 x 当x趋近于0时 f x 的极限是0 f x sin x 2 x 当x趋近于0时 f x 的极限是0 f x sin 2x x 当x趋近于0时 f x 的极限是2
  • 利用python操纵数据库--数据写入与tkinter实现界面查询

    在日常练习sql的时候 又找不到好的线上数据库 这个时候不如自己下载一个mysql 但是数据批量写入呢 就可能是一个问题 这时候 利用python脚本批量写入即可 同时每次运行脚本也是一个麻烦的事 可以实现窗口输入 写到数据库中 这将在后面
  • centos7 开启网络连接

    1 当我们发现无法联网时 我们运行下面命令或者ping命令 ip addr 结果没有显示局域网的IP地址 2 我们去修改网卡配置文件 把网络连接打开 cd cd etc sysconfig network scripts vi ifcfg
  • 数据的清洗和检验(完全去重,缺失值的填充)

    一 完全去重 1 打开kettle工具 新建转换 gt 创建CSV文件输入控件 gt 1唯一行 哈希值 控件 gt 跳连接线 2 配置CSV文件输入控件 gt 进入CSV文件控制页面 如图所示 3 点击浏览 gt 选择完去重的文件merge
  • Hadoop学习笔记之在Eclipse中远程调试Hadoop

    转载地址 http itindex net detail 37273 hadoop E5 AD A6 E4 B9 A0 E7 AC 94 E8 AE B0 插件 话说Hadoop 1 0 2 src contrib eclipse plug
  • 记录一次cpu 100%线上问题排查

    功能问题 通过日志 单步调试相对比较好定位 性能问题 例如线上服务器CPU100 如何找到相关服务 如何定位问题代码 更考验技术人的功底 最近做项目时碰到线上某台实例不时出现CPU 100 的报警 线上部署了若干tomcat实例 即若干垂直
  • javase部分持续更新中...

    项目保存路径尽量不要出现中文 不要直接在磁盘目录下保存文件 注释 选中 Ctrl 关键字 学一个记一个 具有特殊含义的字 常量 程序运行过程中不可以改变的量 变量 在程序运行中可以改变的量叫做变量 int a 12 System out p
  • Unity 动画系统(Animation,Animator,Timeline)

    文章目录 1 Animation 1 1 创建Animation 1 2 Animation 属性 2 Animator 2 1 Animator 组件 2 2 Animation 状态 2 3 状态控制参数 2 4 代码中控制状态 3 代
  • vue&javascript点击空白处隐藏内容

    vue 1 创建一个按钮和容器 按钮控制显示和隐藏 容器存放内容 div 显示 div div 代码 div 2 编写自定义指令
  • 外键约束

    概念 一张表的一个字段受限于另外一张表的一个字段对应的值 这里涉及到两张表 被引用的表叫主表 父表 另外一张叫从表 子表 它们的关系 主从表关系 父子表关系 子表 定义了外键的表 外键的取值要么取父表中字段对应的值 要么取NULL值 严重受
  • 50款PS完美汉化插件一键安装,win+mac

    今天给大家带来2018最最牛逼的50款PS插件合集 包含了调色 磨皮 手绘 设计辅助等 各有特色 没有最好 只有最合适 所谓 萝卜青菜 各有所爱 包含有修图师最爱的人像磨皮神器 DR4 磨皮美白利器 Portraiture 3 一键降噪插件
  • CentOS+QT+KAFKA开发环境部署及测试

    CentOS QT KAFKA开发环境部署及测试 本文档记录了在CentOS环境下通过QT开发KAFKA程序的步骤 关于CentOS中安装QT集成开发环境 不再赘述 此处默认是在QT编译环境已经完备的情况下 如何配置KAFKA的编译环境及测
  • 人工智能-统计机器学习-线性回归

    监督学习 线性回归 linear regression 回归分析 分析不同变量之间存在的关系 回归模型 刻画不同变量之间关系的模型 如果这个模型是线性的 则称为线性回归模型 在现实生活中 往往需要分析若干变量之间的关系 如碳排放量与气候变暖
  • 石油化工行业能源管理解决方案分享

    目前石油化工企业普遍性的能源管理主要靠电子文件报表流转 层级传递能耗数据 这种能耗管理已经和现代企业生产实际需求相脱离 容易导致决策偏差 发出指令滞后等问题 严重影响企业的竞争力 某石油化学股份有限公司基于对企业能耗情况和现有能源管理模式的
  • 【疑难杂症】取消pyecharts绘制地图时默认显示小圆点标识

    取消pyecharts绘制地图时默认显示小圆点标识 1 问题 2 问题解决 手动反爬虫 原博地址 https blog csdn net lys 828 article details 124061946 知识梳理不易 请尊重劳动成果 文章
  • 转载:监控每个节点(Indices部分)

    集群的健康只是一个方面 它是对整个集群所有方面的一个很高的概括 节点状态的api是另外一个方面 它提供了关于你的集群中每个节点令你眼花缭乱的统计数据 节点的状态提供了那么多的统计数据 在你很熟悉它们执勤 你可能不确定哪些指标是至关重要 我们
  • 【Android】使用v7.widget.GridLayout做九宫格。

    布局文件 如果使用xml配置平分 那么配置大致如下 app layout rowWeight 垂直方向权重 app layout columnWeight 水平方向权重 app前缀是说明要使用v7所指定的属性 为了兼容
  • 最大公约数与最小公倍数的详细讲解及求法

    最大公约数的基本概念 能够整除一个整数的整数称为其的约数 如5是10约数 能够被一个整数整除的整数称为其的倍数 如10是5的倍数 如果一个数既是数A的约数 又是数B的约数 称为A B的公约数 A B的公约数中最大的一个 可以包括AB自身 称
  • 云原生时代需要什么样的存储系统?

    作者 张凯 出品 CSDN云计算 ID CSDNnews 导读 本文介绍了目前云原生环境下 支持有状态应用的几种典型存储方案的特点 并对市场主流的几个云原生存储产品实际测试性能进行对比 现状 当前 云原生已经成为应用开发者在选择架构设计时的
  • JAVA 将一个对象的所有字段值 赋给另一个 对象

    如题 这种场景其实项目里使用场景很多 经常需要进行这种对象值的复用 但是又怕使用不准确 影响到原对象的值 那么该篇文章介绍一个方法 简单粗暴 就是使用BeanUtils 所以我们使用的是 简单示例 Dog 里面有两个字段 构造方法 setg