您的位置:首页 > 编程语言 > Java开发

【Java】类赋值的使用方式

2017-12-22 23:15 274 查看
Regioninfo regioninfo=new Regioninfo();
regioninfo.setDistance(0);
regioninfo.setInside(1);
regioninfo.setShopid(2428069);
regioninfo.setType(5);
regioninfo.setRecalltype(0);
regioninfo.setShopname("泼水广场");

Regioninfo regioninfo2=regioninfo;
regioninfo2.setDistance(1000);


期望的结果的是regioninfo.getDistance()=0; regioninfo2.getDistance()=1000;

但是运行的结果是:



因为引用传递,变更某个属性会让两个值都发生变化,在内存中两个类公用同一个存储。

如果想直接copy 某个类的属性,但是又有变更的话,可以使用 :BeanUtils.copyProperties(目标类,源类);

Regioninfo regioninfo=new Regioninfo();
regioninfo.setDistance(0);
regioninfo.setInside(1);
regioninfo.setShopid(2428069);
regioninfo.setType(5);
regioninfo.setRecalltype(0);
regioninfo.setShopname("泼水广场");

Regioninfo regioninfo2=new Regioninfo();
BeanUtils.copyProperties(regioninfo2,regioninfo);
regioninfo2.setDistance(10000);


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: