가 왜 Collection
인터페이스 equals()
및 hashCode()
우리가 직접 왜 다시 ... Object
클래스의 방법을 사용할 수 있는가 개체 클래스의 방법을 사용할 수있을 때?이 있는가이유는 Collection 인터페이스는 equals()와 hashCode() 우리가 직접
-2
A
답변
1
편집의 조건을 생각하고 있습니다. Java SE는 객체 지향 라이브러리입니다. 메서드는 계약의 일부인으로 정의되며 다른 코드를 컴파일하는 데 사용할 수있는 메서드를 선언하는 것만이 아닙니다.
Collection.equals 추가 규정에 Object.equals의 계약을 정제 :
(즉
a.equals(b)
경우에만b.equals(a)
경우) 대칭이어야 동일Object.equals
메소드의 일반 규약에.List.equals
및Set.equals
계약은 목록이 다른 목록과 동일하며 다른 집합으로 설정됨을 나타냅니다. 따라서List
및Set
인터페이스를 구현하지 않는 컬렉션 클래스에 대한 사용자 지정 메서드는이 컬렉션을 모든 목록 또는 집합과 비교할 때false
을 반환해야합니다.
'Collection' API의 구현에는 다른 의미가 있기 때문에. –
둘은 문서화 목적으로 만 존재하므로 모든 컬렉션에 대한 일반 계약이 여기에 지정됩니다. – xs0
@ 카야 만, 인터페이스가 기본 구현을 변경하지 않으며 연결된 응답이이 질문과 동일하지 않습니다. – xs0