Java pour l'informatique industrielle
Chapitre 1. Introduction aux objets
Chapitre 2. Les structures de contrôle
2.1. Abstraction et modularité
2.2. La comparaison
2.2.1. Comparer des valeurs primitives
2.2.2. Comparer des objets
2.2.3. Comparer champs par champs
2.3. Le choix
2.4. Les constructeurs
2.5. La surcharge
2.6. La répétition
2.7. Les variables
2.8. Le domaine de valeur
2.9. Exercice
Chapitre 3. Unifier et réutiliser
Chapitre 4. Modèle, Vue et Contrôle
Chapitre 5. Les entrées/sorties
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

2.2.2. Comparer des objets

Sur les objets, l'opérateur == compare l'égalité des références et pas l'état des objets auxquels elles font références.

Compteur c1 = new Compteur(); Compteur c2 = new Compteur(); c1==c2 => false

En effet, c1 et c2 sont deux objets différents ! Même si ils ont tous les deux l'état à 0. Le new indique toujours la création d'un objet nouveau (différent).

comparaison de références

Deux références peuvent cependant référencer le même objet. En particulier, l'affectation de références ne créé pas de nouvel objet.

Compteur c2 = new Compteur(); Compteur c3 = c2; // c3 référence le même objet que c2, pas de création d'objet ! c3==c2 => true
Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante