它不返回「深層複製」,因爲根本沒有複製,至少在對象級別沒有複製。讓我解釋。 當您有對象的實例時,引用該對象的變量是指向對象的指針。該對象可以被許多變量(指針)引用和修改。遵守以下代碼:
// Let's assume I have a custom object class called Student
// Here the object is created and s now points to the new Student object
Student s = new Student();
// Here I create another variable that points to the same object
Student s2 = s;
這兩個變量都指向同一個對象和一個可變使得到將被反映在其它對象的任何變化。
這關係到您的列表示例。如果您有一個對象的LinkedList,它實際上是一個指向對象的指針的列表。因此,在列表中調用get(2)將獲得對列表中第三個對象的引用。它引用的對象是的對象,而不是副本。所以在這個對象中的任何引用,變量,方法等都會在那裏。
我希望能回答你的問題:)
來源
2015-02-23 23:10:28
Rob
_Java據我所知,通過reference_傳遞對象。不,Java根本不傳遞對象,更不用說引用了。 – 2015-02-23 22:55:04
開始區分變量,值和對象。 – 2015-02-23 22:55:49
@SotiriosDelimanolis這是多麼普遍的教導,這很可悲。當然,你是對的。 – jpmc26 2015-02-23 22:56:08