自訂型態class或陣列型別 只要不是值型別
加入array類的時候 例如hashtabla.add() arrarlist.add() listbox.add()
如果直接加入變數名 那會加的都是同一個東西
ex:
mtype oo=new mytype();
arraylist list=new arraylist();
oo.X="a"
list.add(oo);
oo.X="b";
list.add(oo);
oo.X="c";
list.add(oo);
這樣list裡會有三個元素 但是其實都指向同一個記憶體位置 所以三個oo.X都是c (最後變更的那個)
要避免這樣的情形要在加入的時候新增一個實體
list.add(new mytype(oo));
這樣各別實體加入後就不會互相影響了
當然mytype類別的建構子要自己新增一個會回傳輸入類別的copy
沒有留言:
張貼留言
您的留言會先經過審核後才會公開至版面上
若本站所分享的資訊對您有幫助或有幫您省到錢的話
麻煩在留完言之後順手幫個忙
瀏覽一些您有興趣的廣告連結當作回饋贊助
您的小小鼓勵是支持本站繼續分享的最大動力
謝謝各位善心人士!! :)