String référence/type primitif
Bonjour j'ai quelques questions concernant les réferences en java, merci de m'éclaircir s'il vous plait.
1)
Code:
1 2 3 4 5 6 7 8
| String a,b;
a = new String("lol");
b = a;
a = "louis";
System.out.println(b); // là ça m'affiche lol à la place de louis, je ne comprends pas les objets a et b contiennent pourtant la même
référence. |
2)
Code:
1 2 3 4 5 6
| String s1 = "Hello";
String s2 ="Hel";
s2 = s2 + "lol";
System.out.println(s1 == s2); // là vu que je n'ai pas utilisé de new s1 contient la chaîne hello et pas une référence et s2 contient
également la chaîne hello pourtant ça m'affiche faux |
Ps: je sais que pour comparer les chaînes de caractère il faut utiliser la méthode equals mais c'est pour comprendre les subtilités.