[resolu]Erreur avec un IF

Bonjour,

Mon if me retourne toujours la valeur faux meme quand la valeur est “Ja” je comprend pas pourquoi.

     if(resultat.getString(8)=="Ja")
     a1.pratique=true;
     else
     a1.pratique=false;

Bon je debute en Java je faisais du c++ avant. A mon avis je fais une erreur dans la synthaxe mais ça fait bien 10 minutes que je cherche sans trouver.

Là, tu compares des pointeurs mémoire, donc ça ne peut pas marcher

(“ja” == “ja” est toujours faux)

Si tu veux comparer les objets, il faut utiliser equals()

a1.pratique = “Ja”.equals(resultat.getString(8));

N.B.: Mettre “Ja”.equals permet d’éviter une eventuelle erreur si resultat.getString(8) renvoie null…

ouais merci ça marche c’étais bien ça mon erreur

Mieux :

private final static String REPONSE_JA = "ja";

...

a1.pratique = REPONSE_JA.equals(resultat.getString(8).toLowerCase());
  • Le passage par une constante réduit les risques d’erreur
  • Prend en compte ‘JA’, ‘ja’, ‘Ja’ et ‘jA’