할당에서 Java ArrayList 객체 참조
ArrayList l1이 새 참조 l2에 할당되면 l1과 l2는 다른 참조를 가리키지 않습니다. ArrayList 객체. 대신 l2는 l1과 동일한 ArrayList 객체에 대한 참조를 받습니다. 이를 얕은 복사라고 합니다.
l1 또는 l2를 통해 목록 개체를 수정하면 두 참조 모두에 반영됩니다. 예시에서 볼 수 있듯이,
List<Integer> l1 = new ArrayList<>(); for (int i = 1; i <= 10; i++) { l1.add(i); } List l2 = l1; l2.clear();
l1과 l2는 모두 동일한 개체를 참조하므로 l2를 통해 목록을 지우면 l1에도 영향을 줍니다.
ArrayList 개체의 복사본을 만들려면 원본 요소의 복사본이 포함된 새 목록을 만들어야 합니다. 이를 달성하는 한 가지 방법은 ArrayList(Collection 확장 E> c) 생성자를 사용하는 것입니다. 여기서 c는 원래 컬렉션입니다.
List<Integer> newList = new ArrayList<>(l1);
이렇게 하면 별도의 참조와 복사본이 있는 새 ArrayList 객체가 생성됩니다. l1의 요소.
위 내용은 ArrayList를 새 참조에 할당하면 원본 객체에 어떤 영향을 미치나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!