Когда мы вызываем метод 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-pass-by-reference-or-pass-by-value) – Savior
@Pillar это о том, как работает метод ArrayList.add(). – cnova
Нет причин быть конкретными в отношении 'add'. Все методы работают одинаково в этом отношении. – Savior