Nội dung chính
Immutable String trong java
Trong java đối tượng string là bất biến(immutable). Bất biến có nghĩa là không thể thay đổi.
Ví dụ:
public class Testimmutablestring { public static void main(String args[]) { String s = "Hello"; s.concat(" Java");//phương thức concat() để nối thêm chuỗi vào đuôi chuỗi s. System.out.println(s);//sẽ chỉ in ra "Hello" vì các chuỗi này là đối tượng không thể thay đổi. } }
Output:
Hello
Nhưng nếu chúng ta gán s vào biến tham chiếu, s sẽ được tham chiếu đến chuỗi mới. Ví dụ:
public class Testimmutablestring { public static void main(String args[]) { String s = "Hello"; s = s.concat(" Java"); System.out.println(s); } }
Output:
Hello Java
Lúc này, s sẽ trỏ đến "Hello Java". Nhưng đối tượng chuỗi "Hello" vẫn tồn tại trong Pool hằng chuỗi và không bị thay đổi.