ArrayList의 contain() 메서드가 객체 동등성을 결정하는 방법
질문:
ArrayList 고려 정수 100으로 구성된 'thing'이라는 개체를 포함합니다. 'another'라는 객체가 동일한 생성자 입력으로 생성된 경우 ArrayList의 contain() 메서드는 'thing'과 'another'를 동일하게 평가합니까?
답변:
ArrayList의 contain() 메소드는 객체 동등성을 결정하기 위해 equals() 메소드를 사용합니다. 기본적으로 이 메서드는 해당 콘텐츠가 아닌 개체 참조를 비교합니다.
제공된 코드 조각에서 Thing 클래스는 값 필드를 비교하기 위해 equals() 메서드를 재정의합니다. 따라서 동일한 객체 참조인지 여부에 관계없이 'thing'과 'another'가 동일한 값을 갖는 경우 contain() 메서드는 true를 반환합니다.
동일성 검사 구현:
예, 제공된 Thing 클래스 구현은 값을 기반으로 equals() 메서드를 재정의하여 동일한 값을 가진 객체에 대해 contain()이 true를 반환하도록 만듭니다. 객체 참조 대신 내용(값 필드)을 비교하려면 equals() 재정의가 필요합니다.
위 내용은 ArrayList의 `contains()` 메소드는 객체 참조 또는 값을 비교합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!