Tôi đọc điều này Questions about Java's String pool và hiểu khái niệm cơ bản về nhóm chuỗi nhưng vẫn không hiểu hành vi.Hành vi của chuỗi hồ bơi
Thứ nhất: nó hoạt động nếu bạn trực tiếp gán giá trị và cả hai s1 và s2 tham khảo cùng một đối tượng trong hồ bơi
String s1 = "a" + "bc";
String s2 = "ab" + "c";
System.out.println("s1 == s2? " + (s1 == s2));
Nhưng sau đó nếu tôi thay đổi chuỗi s1 + = "d", sau đó hồ bơi nên có một đối tượng chuỗi "abcd"? sau đó khi tôi thay đổi s2 + = "d", nó sẽ tìm đối tượng chuỗi "abcd" trong hồ bơi và nên gán đối tượng để s2? nhưng nó không và chúng không được đề cập đến cùng một đối tượng. Tại sao vậy?
String s1 = "abc";
String s2 = "abc";
System.out.println("s1 == s2? " + (s1 == s2));
s1 += "d";
s2 += "d";
System.out.println("s1 == s2? " + (s1 == s2));
bản sao có thể có của [Câu hỏi về nhóm chuỗi Java] (http://stackoverflow.com/questions/1881922/questions-about-javas-string-pool) – EJP
@EJP Asker đề cập đến chủ đề đó và nói rằng nó không trả lời câu hỏi của mình. – glomad