博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java对象赋值
阅读量:7024 次
发布时间:2019-06-28

本文共 765 字,大约阅读时间需要 2 分钟。

hot3.png

说明

其实这个问题,很多人都有提到过,但是在编程的路上,一些坑,自己没有踩过,永远不能理解,同样也会不记住。 如下端代码的赋值:

CommonSearch paramModel = new CommonSearch();    CommonSearch paramModel1 = paramModel ;

原理

对象是引用类型的,所以如果你把一个对象赋值给另一个变量,它实际上只是把内存地址赋值了,简单的讲,就是paramModel 或者paramModel 1的任何一个值被修改,其他值都会跟着修改。

场景

我需要保持paramModel 不变化,但是paramModel 中已存在一些数据,不想重新重新创建对象。就这么简单的赋值,然后发现自己想象中的数据不变化,全部都变了。所以BUG出现了。

解决方案

使用BeanUtils中的方法。 jar包 commons-beanutils-1.9.3.jar

commons-beanutils
commons-beanutils
1.9.3
import org.apache.commons.beanutils.BeanUtils;    ...    //searchModel 是一个存在数值的CommonSearch 对象    CommonSearch paramModel = new CommonSearch();    BeanUtils.copyProperties(paramModel, searchModel);

转载于:https://my.oschina.net/u/2948232/blog/915241

你可能感兴趣的文章
Java Bean + 注册验证
查看>>
通过mysql 插入一句话***
查看>>
邮件服务器
查看>>
Java FAQ(2)
查看>>
JavaScript常用事件总结
查看>>
关于加密的一些笔记
查看>>
Oracle 数据库查看client的用户登录信息包括ip
查看>>
Alipay 开源 SofaRPC
查看>>
WinRAR4.11激活
查看>>
运行浏览器的最高版本
查看>>
深入探讨Java类加载器
查看>>
springmvc hello-servlet.xml配置文件
查看>>
kindeditor + syntaxhighlighter 使文章内的插入代码高亮显示
查看>>
angular2 学习二 [property] - 绑定属性
查看>>
iostat 实例分析
查看>>
php学习日记
查看>>
Qt新建项目
查看>>
虚拟机的克隆并更改主机名
查看>>
分享一波Android面试题
查看>>
python入门系列:文件操作
查看>>