簡體   English   中英

Java - 創建對同一對象的兩個引用

[英]Java - Creating Two References to the Same Object

檢查以下代碼:

Object object = new Object();
objectList.add(object);
objectListTwo.add(object);

有沒有辦法讓兩個數組都指向同一個對象,這樣當我在一個數組中更改object時,它會在另一個數組中發生變化?

謝謝你的幫助!

編輯:轉,我的上面的代碼完全是這樣。 問題在我的代碼中的其他地方。 我為我的困惑道歉...

兩個列表都指向同一個對象。 Java正在傳遞對象的引用(按值)。

取決於“改變”的意思。 如果你的意思是在調用setter並改變對象時進行更改,則會觀察到這些更改。 如果您的意思是在完全重新分配或覆蓋變量(或引用)時進行更改,則不會觀察到這些更改。

更簡單,說你有一個對象,一個數組。

Foo foo = new Foo();
Foo[] foos = new Foo[1];
foos[0] = foo;

數組中的項和變量各引用相同的Foo。

foo.setBar(7);
int bar = foos[0].getBar(); // will get 7

在數組內部觀察到foo引用的對象的更改。

foo = new Foo();
foo.setBar(94);
bar = foos[0].getBar(); // will not get 94

由於foo已被重新分配,因此在數組內部未觀察到此更改。 它的setter現在完全改變了另一個對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM