Göre Dize # stajyer () , intern
yöntem Dize havuzunda bulunursa aksi takdirde yeni dize nesne dize havuzda eklenecek ve bu dize referans döndürülür, dize havuzundan Dize dönmek gerekiyordu.
Bu yüzden denedim:
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.
}
Bunun s1 and s3 are same
s3 stajyer olduğu ve s1 and s2 are same
yazdırılmayacağı için yazdırılmasını bekliyordum. Ancak sonuç: her iki satır da yazdırılır. Bu, varsayılan olarak, String sabitleri stajyedir. Ama eğer öyleyse, neden intern
yönteme ihtiyacımız var ? Başka bir deyişle, bu yöntemi ne zaman kullanmalıyız?
intern
genel yöntem olarak var? intern
Özel yöntem olarak olmamalı mıyız , böylece kimse buna erişemezdi. Yoksa bu yöntemin herhangi bir amacı var mı?