Equals() [Résolu]

SMMM@ 13 Messages postés lundi 4 janvier 2016Date d'inscription 1 février 2016 Dernière intervention - 10 janv. 2016 à 11:22 - Dernière réponse : SMMM@ 13 Messages postés lundi 4 janvier 2016Date d'inscription 1 février 2016 Dernière intervention
- 10 janv. 2016 à 13:37
svp la méthode equals() de la classe object compare les références ou bien le contenu??? et merci d'avance
Afficher la suite 

Votre réponse

4 réponses

KX 15438 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention - 10 janv. 2016 à 12:03
0
Utile
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.
Commenter la réponse de KX
SMMM@ 13 Messages postés lundi 4 janvier 2016Date d'inscription 1 février 2016 Dernière intervention - 10 janv. 2016 à 13:19
0
Utile
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
KX 15438 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention - 10 janv. 2016 à 13:23
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;
}
SMMM@ 13 Messages postés lundi 4 janvier 2016Date d'inscription 1 février 2016 Dernière intervention - 10 janv. 2016 à 13:37
ok merci beaucoup maintenant j'ai compris
Commenter la réponse de SMMM@

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.