Re: [問題] 物件銷毀
※ 引述《lkjh0877 (123)》之銘言:
: ※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: : ^^^^^^^^^^^^^^^^^^^^^^^^^^^
: : 請問你怎麼知道 list 內值(假設是「內的值」的縮小)是 null
: : 農夫種出兩顆西瓜,分別叫西瓜甲跟西瓜乙
: : 然後他找了一個籃子,把西瓜甲跟西瓜乙放進去
: : 接著他又把籃子清空(至於西瓜是用倒的還是搬的不重要)
: : 請問一下,西瓜甲跟西瓜乙會因為離開籃子
: : 而就變得不是西瓜嗎?
: : [卡司表]
: : 籃子 = List
: : 西瓜 = A
: : 西瓜甲 = a1
: : 西瓜乙 = a2
: 先為打錯字道歉...
: 我是用degugger觀察list裡面的內容的
: 而且我上網找arraylist的source code裡面的clear method是長這樣:
: modCount++;
: // Let gc do its work
: for (int i = 0; i < size; i++)
: elementData[i] = null;
一個類似的 case:
String str = "ABC";
String[] strs = new String[1];
strs[0] = str;
strs[0] = null;
依你的看法 str 因為倒霉被 strs 指了一下然後又移開,
就得被消滅掉了 囧
: size = 0;
: 因此我當初認為西瓜是會直接被銷毀的
: 顯然我必須要再去看一下add的方法
: 那假如我今天要將已放進西瓜籃的西瓜銷毀
: 可以透過從西瓜籃裡拿出來的?還是只能從原本的a1、a2?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.7.128
討論串 (同標題文章)