我需要java中的一點幫助。我只是一個java的初學者。但我相信我的基金會非常穩固。當兩個對象相等時會發生什麼
我在創建一個簡單的java應用程序時,遇到了一個與我的ArrayList對象有關的輕微問題。我們稱他們爲list1
和list2
。如果我要讓list1等於list2 list1 = list2;
並向list2 list2.add(obj)
添加一個元素,那麼元素也會添加到list1中。
我做了我的研究,發現我應該這樣做list1 = new ArrayList(list2);
我不知道java對象像指針一樣工作。我認爲只有當兩個對象相等時纔會傳遞這些值。我甚至創建了一個簡單的測試應用程序,可以設置和獲取一些對象。再次,我等於兩個對象。更改1對象的元素似乎也會影響其他對象。我不知道如何在Google上搜索這些內容。這就是爲什麼我給你提供整個故事。我只能獲得與c編程相關的文檔。我覺得我的基金會被打破了。我只是知道=
現在如何運作。試過做
int num1 = 666;
int num2 = num1;
num1 = 42;
這不影響num2。然而,
Object obj1 = new Object();
Object obj2 = obj1;
obj1.changeSomeElement();
這會影響obj2的。
現在,我很困惑=
如何在java中工作。請有人分享一些有用的文檔給我閱讀。謝謝!
NOP。這些是爭論。我對如何在java中的對象值傳遞給另一個對象感到困惑。 – user859385 2014-12-05 14:51:21
簡單類型不是引用,只有值被複制'=' – rzysia 2014-12-05 14:52:40
看看http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value – starf 2014-12-05 14:52:46