Mon("equal") != Eclipse("equa"l)
Bonjour,
J’ai une classe "Ville". J’ai défini à la main moi-même tout seul la méthode "equal". Voila le résultat :
Code:
1 2 3 4 5 6
| public boolean equal(Ville o) {
if(this.nomVille!=o.nomVille) return false;
if(this.nbHabitants!=o.nbHabitants) return false;
if(this.nomPays!=o.nomPays) return false;
return true;
} |
J’ai ensuite demandé à Eclipse de définir la méthode automatiquement. Voilà le résultat :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null) return false;
if (getClass() != obj.getClass()) return false;
Ville other = (Ville) obj;
if (nbHabitants != other.nbHabitants) return false;
if (nomPays == null) {
if (other.nomPays != null) return false;
} else {
if (!nomPays.equals(other.nomPays)) return false;
}
if (nomVille == null) {
if (other.nomVille != null) return false;
} else {
if (!nomVille.equals(other.nomVille)) return false;
}
return true;
} |
J’ai un peu du mal à comprendre...
Ligne 3 : obj==null : pourquoi retourner false ? Si mon objet this est null, et que obj est null, alors je devrais retourner true, non ?
Christophe