Java String intern ()

Phương thức Java String intern () trả về một biểu diễn chính tắc của đối tượng chuỗi.

Cú pháp của intern()phương thức chuỗi là:

 string.intern()

Ở đây, string là một đối tượng của Stringlớp.

intern () Tham số

Các intern()phương pháp không mất bất kỳ thông số.

intern () Giá trị trở lại

  • trả về một đại diện chính tắc của chuỗi

Java String Interning là gì?

Việc xen kẽ chuỗi đảm bảo rằng tất cả các chuỗi có cùng nội dung sẽ sử dụng cùng một bộ nhớ.

Giả sử, chúng ta có hai chuỗi sau:

 String str1 = "xyz"; String str2 = "xyz";

Vì cả hai str1str2có cùng nội dung nên cả hai chuỗi này sẽ chia sẻ cùng một bộ nhớ. Java tự động thực hành các chuỗi ký tự.

Tuy nhiên, nếu bạn tạo chuỗi bằng cách sử dụng newtừ khóa, các chuỗi này sẽ không chia sẻ cùng một bộ nhớ. Ví dụ,

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); System.out.println(str1 == str2); // false ) )

Như bạn có thể thấy từ ví dụ này, cả str1 và str2 đều có cùng nội dung. Tuy nhiên, chúng không bằng nhau vì chúng không có chung bộ nhớ.

Trong trường hợp này, bạn có thể sử dụng thủ công intern()phương pháp để sử dụng cùng một bộ nhớ cho các chuỗi có cùng nội dung.

Ví dụ: Java String intern ()

 class Main ( public static void main(String() args) ( String str1 = new String("xyz"); String str2 = new String("xyz"); // str1 and str2 doesn't share the same memory pool System.out.println(str1 == str2); // false // using the intern() method // now both str1 and str2 share the same memory pool str1 = str1.intern(); str2 = str2.intern(); System.out.println(str1 == str2); // true ) )

Như bạn thấy, cả str1 và str2 đều có nội dung giống nhau, nhưng ban đầu chúng không bằng nhau.

Sau đó, chúng tôi sử dụng intern()phương thức để str1 và str2 sử dụng cùng một vùng bộ nhớ. Sau khi chúng ta sử dụng intern(), str1 và str2 bằng nhau.

thú vị bài viết...