.equals() 구현에서 getClass()보다 인스턴스 오브 선호
Eclipse에서 .equals() 메서드를 생성할 때 개발자에게 다음이 제공됩니다. 객체 유형을 비교하기 위해 "getClass()" 또는 "instanceof" 사용 중에서 선택합니다. Eclipse는 기본적으로 "getClass()"를 사용하지만 일반적으로 대신 "instanceof"를 선택하는 것이 좋습니다.
instanceof를 선호하는 이유
Null 검사 모범 사례
null 검사를 수행하려면 "instanceof"를 사용할 때 "if (obj == null)" 문을 제거하는 것이 실제로 좋은 습관입니다. "instanceof"는 "obj"가 해당 클래스의 인스턴스임을 보장하고 null 객체는 어떤 클래스의 인스턴스도 될 수 없기 때문입니다.
지원 인수
"Effective Java"의 저자인 Josh Bloch는 .equals() 구현에서 "instanceof" 사용을 옹호합니다. 그는 이것이 Liskov 대체 원칙을 적절하게 준수하고 같음 메서드에 의존하는 컬렉션에서 예상치 못한 동작을 방지한다고 주장합니다.
이 접근 방식에 대한 추가 지원은 Stack Overflow에 대한 답변과 세 번째 항목에서 찾을 수 있습니다. Bloch의 저서 "Effective Java" 장
위 내용은 Java의 `.equals()` 메소드에서 `instanceof` 또는 `getClass()`를 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!