【Java】類賦值的使用方式

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

可是運行的結果是:spa

 

由於引用傳遞,變動某個屬性會讓兩個值都發生變化,在內存中兩個類公用同一個存儲。code

若是想直接copy 某個類的屬性,可是又有變動的話,可使用 :BeanUtils.copyProperties(目標類,源類);blog

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

 

相關文章
相關標籤/搜索