Comparer des variables en java

Résolu
Signaler
Messages postés
124
Date d'inscription
dimanche 31 août 2008
Statut
Membre
Dernière intervention
16 décembre 2010
-
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
Bonjour,
j'ai le code suivant dont je ne comprends pas pourquoi (a= =c)( par exemple) ne marche pas!

public

class Egale {

public
static
void main(String[] args) {
String a =

"hello";
String b=

new String(
"a");String c =a;

char [] d={
'h',
'e',
'l',
'l',
'o'};
(a=="Hello");   // ici pourquoi il ya erreur?

(a==c);   //de même ici

(a==d);   //de même

}

}

merci de me repondre.
j'aimerai aussi savoir si vous connaissez des sites ou des livresou on peut trouver des exercices pour preparer
la certification SUN java, merci

1 réponse

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Salut,

L'opérateur == teste l'égalité de pointeur en java, et non l'égalité de string !

Pour ce faire :
a.equals(c);

C'est valable pour n'importe quel objet java. Il est d'ailleurs recommandé de surcharger le fonction equals de toutes les classes que tu fais !
______________________________________
DarK Sidious