


Remplacer la méthode Equals en Java
En Java, la méthode Equals est un outil fondamental pour comparer des objets pour l'égalité. Lorsque vous remplacez la méthode equals dans une classe personnalisée, vous pouvez définir des critères spécifiques pour déterminer si deux objets de cette classe sont équivalents.
Comprendre le problème
Considérez une Classe de personne avec des champs pour le nom et l'âge. Pour comparer deux objets Person pour vérifier leur égalité, vous pouvez remplacer la méthode equals. Cependant, si le champ d'âge est un nombre entier, vous risquez de rencontrer une erreur lorsque vous essayez de le comparer à l'aide de la méthode égale, conçue pour comparer des chaînes.
Solution
Pour résoudre ce problème, vous pouvez utiliser l'opérateur d'égalité == pour comparer des entiers. Voici un exemple de méthode égale remplacée qui gère à la fois les comparaisons de chaînes et d'entiers :
@Override 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; }
Dans ce code modifié :
- Nous effectuons d'abord des vérifications nulles et des vérifications de classe pour nous assurer que nous comparons deux objets Person valides.
- Nous comparons les champs de nom en utilisant la méthode égale puisqu'ils sont chaînes.
- Nous utilisons l'opérateur == pour comparer les champs d'âge car ce sont des nombres entiers.
Exemple d'utilisation
Voici un exemple de la façon d'utiliser la méthode égale remplacée :
public class Main { public static void main(String[] args) { List<person> people = new ArrayList(); people.add(new Person("John Doe", 30)); people.add(new Person("Jane Doe", 25)); // Check for equality using the overridden equals method boolean equal = people.get(0).equals(people.get(1)); System.out.println(equal); // Output: false } }</person>
Dans cet exemple, la méthode égale correctement détermine que deux objets Personne avec des noms et des âges différents ne sont pas égaux.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Dreamweaver Mac
Outils de développement Web visuel

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.