原創:轉載請注明出處
今天在寫代碼時,遇到一個問題,特此進行記錄。
for (ProfileDto profileDto : profile)
{
// Profile resProfile=null;
Profile resProfile=new Profile();
// 將profileDto對象的屬性值復制給resProfile對象
Tools.copyPropertiesIgnoreNull(profileDto, resProfile);
proList.add(resProfile);
}
今天在寫這段代碼時,起初是Profile resProfile=null;然后debug走到復制屬性方法的時候,就直接跳出了,
然后改為new的方式就ok了。
所以就很好奇,對此特地進行研究和總結。
對象 = null 指向到一個空地址,只是聲明了一個對象的引用,並沒有在jvm中開辟內存,已進行存儲。
而u2 指向的一個具體的對象,對象需要空間存放的。在對象引用的時候,會將對象的內存地址傳給引用的對象,以進行存儲。。。
另外,如果你創建的對象,需要自己去讀取操作數據,就需要通過new的方式,可以進行初始化,如果是接收其他地方的
傳值,可以不通過new的方式,創建對象。
學識尚淺,如有錯誤請多多指教。