> Java > java지도 시간 > ArrayList를 새 참조에 할당하면 원본 객체에 어떤 영향을 미치나요?

ArrayList를 새 참조에 할당하면 원본 객체에 어떤 영향을 미치나요?

Patricia Arquette
풀어 주다: 2024-11-20 12:47:11
원래의
427명이 탐색했습니다.

How does assigning an ArrayList to a new reference affect the original object?

할당에서 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 c) 생성자를 사용하는 것입니다. 여기서 c는 원래 컬렉션입니다.

List<Integer> newList = new ArrayList<>(l1);
로그인 후 복사

이렇게 하면 별도의 참조와 복사본이 있는 새 ArrayList 객체가 생성됩니다. l1의 요소.

위 내용은 ArrayList를 새 참조에 할당하면 원본 객체에 어떤 영향을 미치나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿