String.intern() trong Java là gì?

String Intern Trong Java La Gi



Trong Java, “ thực tập sinh() ” được sử dụng để đảm bảo rằng nếu một lượng lớn chuỗi lưu trữ dữ liệu thì các chuỗi có cùng phần tử sẽ chia sẻ cùng một bộ nhớ. Phương pháp này rất hữu ích để giảm dung lượng bộ nhớ cho chương trình. Chẳng hạn, nếu bạn có một danh sách lớn tên nhân viên trong đó tên “ giắc cắm ” xuất hiện mười lần. Các ' thực tập sinh() ” phương pháp sẽ đảm bảo rằng “ giắc cắm ” chỉ chiếm một không gian duy nhất trong bộ nhớ.

Bài đăng này sẽ thảo luận về cách sử dụng phương thức String.intern() trong Java.







String.intern() trong Java là gì?

Các ' thực tập sinh() ” phương thức trong Java được sử dụng để trả về tham chiếu đến đối tượng chuỗi đã nêu. Tuy nhiên, nếu đối tượng chuỗi tồn tại với cùng nội dung/dữ liệu trong nhóm chuỗi, thì nó sẽ trả về tham chiếu của chuỗi trước đó. Hơn nữa, nếu chuỗi không tồn tại trong nhóm chuỗi, nó sẽ thêm chuỗi mới và tham chiếu của nó vào nhóm chuỗi.



cú pháp

Để sử dụng phương thức đã nêu, chỉ cần làm theo cú pháp dưới đây:



Sợi dây . thực tập sinh ( )

Trong ví dụ này, chúng ta sẽ thảo luận về lý do tại sao cần phải sử dụng “ thực tập sinh() ” phương thức trong Java khi chuỗi được tạo trong một đống bằng cách sử dụng “ Sợi dây() ' người xây dựng. Đầu tiên, một đối tượng chuỗi được tạo bằng cách sử dụng “ Sợi dây() ' người xây dựng. Sau đó, dữ liệu cho chuỗi được truyền dưới dạng tham số cho đối tượng này và được lưu trữ trong một biến:





Sợi dây Một = mới Sợi dây ( 'Chào mừng đến với Linuxhint.' ) ;

Một đối tượng chuỗi khác được tạo bằng cách làm theo quy trình tương tự:

Sợi dây b = mới Sợi dây ( 'Chào mừng đến với Linuxhint' ) ;

Gọi “ println()” và đặt “a=b ” làm đối số cho phương pháp này. Nó sẽ trả về kết quả là false vì mỗi chuỗi có khoảng trống riêng trong bộ nhớ:



Hệ thống . ngoài . bản in ( Một == b ) ;

Có thể nhận thấy rằng đầu ra của ví dụ nêu trên trả về false:

Ví dụ 1: Phương thức String.intern() để kiểm tra các đối tượng chuỗi

Trong ví dụ này, hai đối tượng chuỗi được tạo bằng cách sử dụng “ Sợi dây() ” hàm tạo và một chuỗi được truyền cho hàm tạo dưới dạng đối số. Tiếp theo, hãy gọi “ thực tập sinh() ” phương thức cho mỗi chuỗi và lưu trữ chuỗi đầu tiên trong biến “ Một ” và cái thứ hai trong “ b ”. Kiểm tra tình trạng “ a=b ” và sử dụng “ println() ” để hiển thị kết quả:

Sợi dây Một = mới Sợi dây ( 'Chào mừng đến với Linuxhint' ) . thực tập sinh ( ) ;
Sợi dây b = mới Sợi dây ( 'Chào mừng đến với Linuxhint' ) . thực tập sinh ( ) ;
Hệ thống . ngoài . bản in ( Một == b ) ;

Kết quả là, nó trả về “ ĐÚNG VẬY ” giá trị bởi vì “ thực tập sinh() ” đảm bảo rằng mỗi chuỗi chiếm không gian trong cùng một bộ nhớ để lưu trữ dữ liệu chuỗi:

Ví dụ 2: Phương thức String.intern() để kiểm tra chuỗi và đối tượng chuỗi

Trong ví dụ đã nêu này, các chuỗi khác nhau được tạo và lưu trữ trong các biến khác nhau. Với mục đích này, đầu tiên, một biến được khởi tạo với giá trị chuỗi “ Linux ”:

Sợi dây Một = 'Linux' ;

Sử dụng “ thực tập sinh() ” phương pháp bằng cách truy cập vào chuỗi “ Một ” và lưu trữ nó trong biến “ b ”:

Sợi dây b = Một. thực tập sinh ( ) ;

Một đối tượng kiểu chuỗi mới được tạo với sự trợ giúp của “ Sợi dây() ” constructor và vượt qua “ Linux ” làm tham số cho hàm tạo này. Sau đó, lưu trữ nó trong biến “ c ”:

Sợi dây c = mới Sợi dây ( 'Linux' ) ;

Gọi “ thực tập sinh() ” phương pháp bằng cách truy cập vào biến “ c ” và lưu trữ kết quả trong “ đ ”:

Sợi dây đ = c. thực tập sinh ( ) ;

Bây giờ, hãy so sánh các chuỗi đã tạo này với nhau. Với mục đích đó, hãy gọi “ println() ” và truyền tham số theo đoạn mã dưới đây:

Hệ thống . ngoài . bản in ( Một == b ) ;
Hệ thống . ngoài . bản in ( Một == c ) ;
Hệ thống . ngoài . bản in ( Một == đ ) ;
Hệ thống . ngoài . bản in ( b == c ) ;
Hệ thống . ngoài . bản in ( b == đ ) ; Hệ thống . ngoài . bản in ( c == đ ) ;

Đầu ra của mỗi câu lệnh tương ứng được in trên bàn điều khiển. Chúng tôi đã ánh xạ đầu ra với mỗi câu lệnh:

Đó là tất cả về phương thức string.intern() trong Java.

Phần kết luận

Các ' String.intern() ” phương thức trong Java trả về tham chiếu đến đối tượng chuỗi đã nêu. Tuy nhiên, nếu đối tượng chuỗi tồn tại với cùng nội dung/dữ liệu trong nhóm chuỗi, thì nó sẽ trả về tham chiếu của chuỗi trước đó. Bài đăng này đã nêu các trường hợp sử dụng khác nhau của phương thức String.intern() trong Java.