Bonjour, j'aimerais savoir si j'ai bien compris et si je peux considérer ce que je pense comme étant vrai.
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...)
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;
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?
Partager