Besoin d'aide

G un programme JAVA, je veux verifier une condition d'equivalence entre 2 chaine de caractères :

String nom;
if (nom == "toto") {...}

Le pb est qu'il n'arrive pas a verifier l'equivalence, quand nom=toto, le traitement ne s'execute pas, la condition n'est pas verifier. Quel est mon pb??

5 réponses

  1. == vérifie la stricte identité des objets chaînes.

    Pour comparer les chaines (et non pas les objets), il faut utiliser la méthode equals (de la classe String).

    Attention : en Java, en dehors des types de base (int, float... mais pas String, qui est une classe !), le signe == sert à comparer l'identité des objets, pas de leur valeur.
    0
    1. Et comment dois-je faire pour executer cette methode avec l'exemple ci dessus.
      0
      1. Tout simplement en faisant:

        String nom;
        if (nom.equals("toto")) {...}

        lama
        0
        1. if (nom.equals("toto")) {...}

          ;-)
          0
          1. Je vous remerci les gars tous fonctionne.
            0