Eclipse를 사용하여 .equals()
및 을 생성 하고 .hashCode()
있으며 ''instanceof '를 사용하여 유형 비교'라는 옵션이 있습니다. 기본값은이 옵션을 선택하지 않고 .getClass()
유형을 비교 하는 데 사용 됩니다. 내가 선호해야 할 이유 .getClass()
가 instanceof
있습니까?
사용하지 않고 instanceof
:
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
사용 instanceof
:
if (obj == null)
return false;
if (!(obj instanceof MyClass))
return false;
일반적으로 instanceof
옵션을 확인한 다음 " if (obj == null)
"확인으로 이동합니다. null 객체는 항상 실패하기 때문에 중복됩니다 instanceof
. 잘못된 생각의 이유가 있습니까?
x instanceof SomeClass
is 인 경우 표현식 은 falsex
입니다null
. 따라서 두 번째 구문에는 null 검사가 필요하지 않습니다.