當我們調用ArrayList.add()
方法時,它是否會創建一個新對象並將其添加到列表中,或者是否將引用的對象添加到列表中?當我們調用ArrayList.add()方法時會發生什麼?
例如:假設我們有兩個ArrayList
如下:
ArrayList<ClassA> a1
和ArrayList<ClassA> a2
。如果我運行代碼:
a2.add(a1.get(i))
它會創建一個新的對象,然後將其添加到a2
或它會引用兩個不同列表中的同一個對象?
這不是
副本就是Java按值傳遞或按引用傳遞的問題?
因爲我想知道ArrayList.add()
方法的內部工作,那它是否創建了傳遞或不傳遞的參數的對象副本?
的可能的複製[Java的是「傳址參考」或「傳遞的價值」?](http://stackoverflow.com/問題/ 40480/is-java-by-reference-or-pass-by-value) – Savior
@Pillar它是關於'ArrayList.add()'方法的工作原理。 – cnova
沒有理由具體說明「add」。所有的方法在這方面都是一樣的。 – Savior