Equals() [Résolu]

Signaler
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016
-
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016
-
svp la méthode equals() de la classe object compare les références ou bien le contenu??? et merci d'avance
A voir également:

2 réponses

Messages postés
16363
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 juin 2021
122
Bonjour,

La méthode equals de la classe Object compare uniquement les références puisqu'un Object n'a aucun contenu...

public boolean equals(Object obj) {
    return (this == obj);
}

Pour prendre en compte le contenu d'un objet il faut que sa classe redéfinisse la méthode equals.
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016

merci KX pour votre répense mais j'ais pas bien compris car j'ai essayer ce code :
public class Equa {
	private Integer t;
	private Integer k;

	public Equa() {
			t=new Integer(12);
			k=new Integer(12);
			System.out.println(t.equals(k));
		}
		public static void main(){
		new Equa();
		}
	}

il s'agit de 2 référence différents mais il retourne true!!!
si vous pouvez m'aidez
Messages postés
16363
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
15 juin 2021
122
Ce que tu manipules ce ne sont pas des Object mais des Integer, la méthode equals a été redéfinie dans cette classe...

public boolean equals(Object obj) {
    if (obj instanceof Integer)
        return intValue() == ((Integer) obj).intValue();
    return false;
}
Messages postés
13
Date d'inscription
lundi 4 janvier 2016
Statut
Membre
Dernière intervention
1 février 2016

ok merci beaucoup maintenant j'ai compris