Menurut String # intern () , internmetode seharusnya mengembalikan String dari kolam String jika String ditemukan di kolam String, jika tidak objek string baru akan ditambahkan dalam kolam String dan referensi dari String ini dikembalikan.
Jadi saya mencoba ini:
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.
}
Saya mengharapkan yang s1 and s3 are sameakan dicetak saat s3 diinternir, dan s1 and s2 are sametidak akan dicetak. Tetapi hasilnya adalah: kedua garis dicetak. Jadi itu berarti, secara konstan konstanta String diinternir. Tetapi jika demikian, mengapa kita perlu internmetode ini? Dengan kata lain kapan kita harus menggunakan metode ini?
internmetode publik. Bukankah seharusnya kita memiliki internmetode pribadi, sehingga tidak ada yang bisa mengaksesnya. Atau adakah tujuan metode ini?
