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);