Immutable String trong Java

0
99

Trong Java, các đối tượng chuỗi là immutable. Immutable nghĩa là không thể thay đổi hay không thể sửa đổi. Một khi đối tượng String đã được tạo thì dữ liệu hoặc trạng thái của nó không thể bị thay đổi nhưng một đối tượng String được tạo. Bạn theo dõi ví dụ sau để hiểu khái niệm Immutable trong Java:

Ở đây, “vietjack” là không bị thay đổi nhưng một đối tượng mới được tạo với “vietjackteam”. Đó là tại sao String trong Java là không thể sửa đổi. Trong ví dụ trên, hai đối tượng được tạo, nhưng biến tham chiếu vẫn tham chiếu tới “vietjack” chứ không tham chiếu tới “vietjackteam”.

Nhưng nếu chúng ta gán nó tới biến tham chiếu một cách tường minh, thì nó sẽ tham chiếu tới đối tượng “vietjackteam”. Ví dụ:

Trong trường hợp này, s trỏ tới “vietjackteam”. Bạn nên chú ý rằng đối tượng “vietjack” vẫn không bị sửa đổi.

Tại sao đối tượng String là Immutable trong Java?

Bởi vì Java sử dụng khái niệm String Literal. Giả sử có 5 biến tham chiếu, tất cả tham chiếu tới một đối tượng “vietjack”. Nếu một biến tham chiếu thay đổi giá trị của đối tượng, nó sẽ có tác động tới tất cả các biến tham chiếu khác. Đó là tại sao đối tượng String là Immutable trong Java.

 http://vietjack.com/java/immutable_string_trong_java.jsp

Gửi phản hồi

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.