Comment remplacer la méthode Equals() en Java
Le remplacement de la méthode Equals() est essentiel pour personnaliser le comportement de comparaison d'égalité pour des applications personnalisées. objets en Java. Voici un guide complet pour vous aider à le faire efficacement :
Le problème :
Dans l'extrait donné, vous avez rencontré une erreur en essayant de comparer les champs d'âge en utilisant des valeurs égales ( ), car il est conçu pour les objets String. Les valeurs entières nécessitent l'utilisation de l'opérateur ==.
La solution :
Pour résoudre cette erreur, utilisez l'opérateur == pour comparer les types de données primitifs tels que l'âge. L'extrait de code modifié est le suivant :
public boolean equals(People other){ boolean result; if((other == null) || (getClass() != other.getClass())){ result = false; } // end if else{ People otherPeople = (People)other; result = name.equals(other.name) && age == other.age; } // end else return result; } // end equals
Explication supplémentaire :
1. Processus de substitution :
2. Vérification nulle :
3. Comparaison de classes :
4. Logique de comparaison personnalisée :
Exemple :
L'exemple fourni remplace equals() pour la classe Person, en comparant à la fois le nom et l'âge pour l'égalité :
public boolean equals(Object obj) { if (obj == null) { return false; } if (obj.getClass() != this.getClass()) { return false; } final Person other = (Person) obj; if ((this.name == null) ? (other.name != null) : !this.name.equals(other.name)) { return false; } if (this.age != other.age) { return false; } return true; }
Conclusion :
Remplacer la méthode equals() vous permet de définir des comparaisons d'égalité pour vos objets personnalisés. En suivant attentivement les étapes et les exemples fournis, vous pouvez comparer efficacement des objets en fonction de leurs attributs spécifiques.
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!