Theo String # intern () , intern
phương thức được cho là trả về Chuỗi từ nhóm Chuỗi nếu Chuỗi được tìm thấy trong nhóm Chuỗi, nếu không, một đối tượng chuỗi mới sẽ được thêm vào trong chuỗi Chuỗi và tham chiếu của Chuỗi này được trả về.
Vì vậy, tôi đã thử điều này:
String s1 = "Rakesh";
String s2 = "Rakesh";
String s3 = "Rakesh".intern();
if ( s1 == s2 ){
System.out.println("s1 and s2 are same"); // 1.
}
if ( s1 == s3 ){
System.out.println("s1 and s3 are same" ); // 2.
}
Tôi đã hy vọng rằng nó s1 and s3 are same
sẽ được in như s3 được thực tập, và s1 and s2 are same
sẽ không được in. Nhưng kết quả là: cả hai dòng được in. Vì vậy, điều đó có nghĩa là, mặc định các hằng chuỗi được thực hiện. Nhưng nếu nó là như vậy, tại sao chúng ta cần intern
phương pháp? Nói cách khác khi nào chúng ta nên sử dụng phương pháp này?
intern
phương pháp công khai. Chúng ta không nên có intern
phương pháp riêng tư, để không ai có thể truy cập vào nó. Hoặc có bất kỳ mục đích của phương pháp này?