Avatar ·

Différence entre == et === en Java

Bonjour à tous ! Je n'arrive pas à comprendre les opérateurs de comparaison en Java. Je sais qu'en JavaScript il y a une comparaison stricte avec ===, mais en Java, cet opérateur semble absent. Quand j'essaie d'écrire ===, le compilateur génère une erreur.

J'ai essayé d'utiliser == pour comparer des chaînes, mais j'obtiens des résultats inattendus. Par exemple, ce code :

String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false
System.out.println(a.equals(b)); // true

Pourquoi == retourne false si les chaînes sont identiques ? Je m'attendais à ce que == compare le contenu, comme en JavaScript. J'ai lu la documentation — en Java, == compare les références aux objets, pas leurs valeurs. Pour les chaînes, il faut utiliser equals().

Mais alors la question : existe-t-il en Java un équivalent de la comparaison stricte === de JavaScript ? Ou est-ce la seule