J'utilise Eclipse pour générer .equals()
et .hashCode()
, et il y a une option intitulée "Utilisation" instanceof "pour comparer les types". La valeur par défaut pour cette option pour être décochée et utiliser .getClass()
pour comparer les types. Est-il une raison que je préférerais .getClass()
sur instanceof
?
Sans l'aide d' instanceof
:
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
À l'aide de instanceof
:
if (obj == null)
return false;
if (!(obj instanceof MyClass))
return false;
J'ai l'habitude de vérifier l' instanceof
option, puis retirer le "if (obj == null)
" vérifier. (Il est superflu, puisque les objets nuls échouera toujours instanceof
.) Est-il une raison que c'est une mauvaise idée?