Comprendre l'égalité des objets en Java
Pour comparer l'égalité de deux objets en Java, on utilise souvent la méthode égale. Dans le scénario décrit, le but est de remplacer la méthode equals pour une classe People avec des champs name et age, pour faciliter les comparaisons entre les objets People.
L'implémentation initiale présentée utilisait la méthode equals pour le champ age, qui est de type Entier. Cependant, comme indiqué, la méthode equals est spécifiquement conçue pour comparer des objets String.
Solution : Comparaison de champs entiers
Pour comparer des champs entiers, il est recommandé d'utiliser l'opérateur == au lieu de la méthode égale. L'opérateur == compare directement les valeurs des types de données primitifs, plutôt que d'invoquer la méthode égale.
Implémentation correcte d'égalité
L'implémentation correcte de la méthode égale pour la classe People devrait être la suivante :
@Override public boolean equals(Object obj) { if (obj == null) { return false; } if (obj.getClass() != this.getClass()) { return false; } final People other = (People) obj; if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } if (this.age != other.age) { return false; } return true; }
Dans ce implémentation :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!