Próbuję zrozumieć ciąg stały basen, jak łańcuch znaków obiekty są zarządzane w stałej puli, nie jestem w stanie zrozumieć, dlaczego jestem coraz false
z poniżej kod gdzie s2 == s4
W jaki sposób tworzone są literały łańcuchowe?
public static void main(String[] args) {
String s1 = "abc";
String s2 = "abcd";
String s3 = "abc" +"d";
String s4 = s1 + "d";
System.out.println(s2 == s3); // OP: true
System.out.println(s2 == s4); // OP: false
}
'" abc "+" d "' jest wyrażeniem stałym w czasie kompilacji, natomiast 's1 +" d "' nie jest. – johnchen902