java 物件 賦值

2021-07-05 21:59:28 字數 356 閱讀 8377

首先看以下**:

listlist;

listmlist = new arraylist();

list = mlist;

mlist.add("aaa");

list.add("bbb");

system.out.println(mlist);

列印出來的mlist 發現「bbb」也新增進去了,但是我們覺得奇怪,list才新增了「bbb」,為什麼mlist的值會改變呢?

個人認為list = mlist; 可以看做是c語言中的指標,list指向了mlist,list和mlist的儲存了同乙個位址,而 用 new 來建立的物件

指向的位址是不同的

java裡面給物件賦值,慎用賦值符號( )

對於物件來說,注意變數名類似於指標,所以請慎用賦值符號 比如下面的 arraylist alall new arraylist for int i 0 i 10 i 此時alall裡面有10個元素 0 9 arraylist alprocessing new arraylist alprocessi...

java 物件的賦值與其屬性間賦值差異

在乙個程式中遇到這樣的問題 執行 a b,之後改變a的屬性值發現b的相應屬性值也發生變化,而若將a的屬性乙個個的傳給a,則在a改變後不會影響b.其根本原因是,a b相當於c語言中的引用,a與b將指向同一塊記憶體.因此其中乙個變化另乙個也會跟著變化.而屬性間的賦值只是物件值的複製,並未改變各物件所指向...

物件賦值 物件引用

物件賦值 物件引用 分配的物件 class object objectvar new object reference objectvar assignment objectvar 在 php 5,乙個物件變數已經不再儲存整個物件的值 只是儲存乙個識別符號來訪問真正的物件內容 情況如下 handle...