Bonjour, j'aimerais savoir si j'ai bien compris et si je peux considérer ce que je pense comme étant vrai.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
String a = "TEST";
String b = "TEST";
String c = new String("TEST");
System.out.println(a=b); // affiche true;
System.out.println(a.trim()=b.trim()); // affiche true;
System.out.println(a.substring(0) == b.substring(0)); //affiche true;
System.out.println(a.toLowerCase() == b.toLowerCase()); // affiche false;
System.out.println(a==c); //affiche false;
Donc toute String créer en utilisant = "TEST" sont identique, si l'on lui applique une fonction qui ne modifie pas la String elle reste identique. (exemple : trim si y a pas d'espace, substring si on prend toute la chaine, toUpperCase() si elle est deja en majuscule...)
Par contre si je lui applique une fonction qui la modifie, un nouvel objet est créé et donc elle ne sont plus identique.
Et avec un new String() le == ne fonctionne jamais.

Est-ce que ce que j'ai mis est juste dans tout les cas?