.equals() 생성에서 getClass()와 인스턴스of의 우선 사용
.equals() 및 .equals()에 대한 Eclipse 코드 생성기를 활용하는 경우 .hashCode()의 경우 유형 비교를 위해 'instanceof'를 사용하거나 .getClass()를 사용하는 옵션이 나타날 수 있습니다. 기본 선택은 .getClass()이지만 이 기사에서는 instanceof에 비해 .getClass()를 사용하면 어떤 이점이 있는지 조사합니다.
instanceof가 없는 비교:
if (obj == null) return false; if (getClass() != obj.getClass()) return false;
사용한 비교 instanceof:
if (obj == null) return false; if (!(obj instanceof MyClass)) return false;
일반적으로 null 개체는 필연적으로 instanceof에 실패하므로 "if (obj == null)" 검사를 제거하고 instanceof 옵션을 사용하는 것이 좋습니다. 그러나 이 관행은 본질적으로 잘못된 것입니까?
인스턴스에 대한 주장
유명한 Java 전문가 Josh Bloch는 다음과 같은 추론을 인용하면서 이 접근 방식을 지지합니다.
추가 리소스
위 내용은 Java의 `.equals()` 메소드의 `getClass()`와 `instanceof` 비교: 어느 것이 더 낫습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!