Computer >> Máy Tính >  >> Lập trình >> Java

Interning of String trong Java

Quá trình xen kẽ chuỗi là một quá trình trong đó một bản sao duy nhất của mọi giá trị chuỗi riêng biệt được lưu trữ. Ngoài điều này, các chuỗi cũng không thể thay đổi được. Bằng cách này, các chuỗi có thể chứa cùng một dữ liệu cũng như chia sẻ cùng một bộ nhớ. Bằng cách này, bộ nhớ cần thiết sẽ được giảm đáng kể.

Khi hàm ‘intern’ được gọi -

  • Nó kiểm tra sự bình đẳng giữa hai chuỗi - liệu đối tượng chuỗi có hiện diện trong nhóm Hằng số chuỗi (SCP) hay không.

  • Nếu có sẵn, chuỗi được trả về bằng cách tìm nạp nó từ nhóm. Nếu không, một đối tượng Chuỗi mới được tạo và thêm vào nhóm. Một tham chiếu đến Đối tượng chuỗi này cũng được trả về.

  • Nếu đối với hai chuỗi ‘a’ và ‘b’, a.intern () ==b.intern () là true thì a.equals (b) trả về true.

Hãy để chúng tôi xem một ví dụ -

Ví dụ

public class Demo{
   public static void main(String[] args){
      String s1 = new String("Its");
      String s2 = s1.concat("sample");
      String s3 = s2.intern();
      System.out.println("Checking equality of object 2 and 3 :");
      System.out.println(s2 == s3);
      String s4 = "Its a sample";
      System.out.println("Checking equality of object 3 and 4 :");
      System.out.println(s3 == s4);
   }
}

Đầu ra

Checking equality of object 2 and 3 :
true
Checking equality of object 3 and 4 :
false

Một lớp có tên Demo chứa chức năng chính. Ở đây, ba phiên bản của đối tượng Chuỗi được xác định, trong đó chuỗi thứ hai là sự ghép nối của chuỗi đầu tiên với một giá trị khác. Chuỗi thứ ba là một lời gọi hàm đến ‘intern’ trên chuỗi thứ hai. Các chuỗi này được so sánh bằng toán tử ‘==’ và kết quả được hiển thị trên bảng điều khiển.