【Java】類賦值的使用方式
阿新 • • 發佈:2017-12-23
region pre tin image 直接 beanutils 期望 http span
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);
【Java】類賦值的使用方式