它不返回“深层复制”,因为根本没有复制,至少在对象级别没有复制。让我解释。 当您有对象的实例时,引用该对象的变量是指向对象的指针。该对象可以被许多变量(指针)引用和修改。遵守以下代码:
// 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