• Skip to main content
  • Bỏ qua primary sidebar
  • Bài học Toán lớp 1
  • Học tiếng Anh
  • CNTT
  • Giáo dục
  • Nghe Nhạc

Học hỏi Net

Mạng học hỏi cho học sinh và cuộc sống

Bạn đang ở:Trang chủ / Lập trình Java / Immutable String trong Java

Immutable String trong Java

04/03/2021 by Minh Đạo

1. Immutable String là gì?

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:

class Testimmutablestring {
  public static void main(String args[]) {
    String s = "eLib";
    s.concat(" eLib team"); //phuong thuc concat() phu them vao cuoi chuoi  
    System.out.println(s); //se in vietjack vi string la immutable  
  }
}

Ở đây, “eLib” là không bị thay đổi nhưng một đối tượng mới được tạo với “eLibteam”. Đó 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 “eLib” chứ không tham chiếu tới “eLibteam”.

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 “eLibteam”. Ví dụ:

class Testimmutablestring1 {
  public static void main(String args[]) {
    String s = "eLib";
    s = s.concat(" eLibteam");
    System.out.println(s);
  }
}

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

2. 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 “eLib”. 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.

3. Cách tạo 1 Class Immutable

Điều kiện để tạo 1 class Immutable:

  • Phải là final class (không thể thừa kế bởi class khác)
  • Các field phải là private final
  • Không có các method làm thay đổi trạng thái của các field (Ví dụ: chỉ có hàm get, không có các hàm set)
  • Nếu có field nào là Object thì field đó cũng phải là 1 immutable Object hoặc khi khởi tạo/lấy ra field đó ta phải clone ra 1 bản khác.

Trên đây là bài viết của eLib.VN về Immutable String trong Java. Hy vọng qua bài viết, bạn đọc có thể sử dụng được và kết hợp chúng với những kiến thức đã học để có những đoạn code tối ưu nhất. Chúc các bạn thành công!

Thuộc chủ đề:Lập trình Java Tag với:Java

Bài liên quan:

  1. Tạo Javadoc
  2. Cơ bản về Applet trong Java
  3. Thread trong Java
  4. Gửi Email trong Java
  5. Lập trình mạng Socket trong Java
  6. Serialization trong Java
  7. Generic trong Java
  8. Custom Exception trong Java
  9. ExceptionHandling và Ghi đè phương thức trong Java
  10. Từ khóa throws trong Java

Sidebar chính

Bài viết mới

  • Giải bài tập Toán lớp 3 Bài: Luyện tập chung 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập về giải toán 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập về hình học 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập về đại lượng 17/03/2021
  • Giải bài tập Toán lớp 3 Bài: Ôn tập bốn phép tính trong phạm vi 100000 17/03/2021

Chuyên mục

  • Bài học Công nghệ 6 (32)
  • Bài học Công Nghệ 7 (60)
  • Bài học Địa lý 6 (27)
  • Bài học Địa lý 7 (61)
  • Bài học GDCD 6 (18)
  • Bài học GDCD 7 (18)
  • Bài học Lịch sử 6 (23)
  • Bài học Lịch sử 7 (29)
  • Bài học Ngữ Văn 6 (97)
  • Bài học Ngữ Văn 7 (101)
  • Bài học Sinh 6 (50)
  • Bài học Sinh 7 (61)
  • Bài học Tiếng Việt lớp 5 (258)
  • Bài học Tin học 6 (30)
  • Bài học Tin học 7 (23)
  • Bài học Toán 6 (67)
  • Bài học Toán 7 (54)
  • Bài học Toán lớp 1 (61)
  • Bài học Toán lớp 2 (92)
  • Bài học Toán lớp 3 (75)
  • Bài học Toán lớp 4 (63)
  • Bài học Toán lớp 5 (57)
  • Bài học Vật lý 6 (30)
  • Bài học Vật lý 7 (30)
  • CNTT (3)
  • Family and Friends 1 (62)
  • Family and Friends 2 (80)
  • Family and Friends 3 (80)
  • Family and Friends 4 (84)
  • Family and Friends 5 (76)
  • Giải SGK Tiếng Anh 5 mới (67)
  • Giải SGK Tiếng Anh 6 mới (102)
  • Giải SGK Tiếng Anh 7 mới (98)
  • Giải SGK Tiếng Anh lớp 3 (68)
  • Giải SGK Tiếng Anh lớp 4 (68)
  • Giải SGK Toán 3 (77)
  • Giáo dục (178)
  • Học tiếng Anh (105)
  • Lập trình HTML và CSS (83)
  • Lập trình Java (110)
  • Nghe Nhạc (1)
  • Tiếng Anh lớp 1 Macmillan (24)
  • Tiếng Anh lớp 2 Macmillan (23)
  • Tiếng Việt lớp 5 sách VNEN (105)

Copyright © 2021 · Hocz.Net.
Hoc Tap vn - Học Trắc nghiệm - Học Giải - Môn Toán - Sách toán - eBook Toán - Giai Bai tap hay - Lop 12