Veri

Pool String Havuzu

Java'da "" şeklinde verilen String'ler bir havuzda tutulur. Başka bir yerde "" ile aynı String tanımlanırsa bu havuzdaki String kullanılır. Java'da
String s="Ali";
şeklinde bir String tanımlandığında "Ali" ifadesi String havuzunda saklanmaktadır. Bu nedenle aşağıdaki gibi bir karşılaştırma true sonucu verir. Çünkü havuzda aynı String'e karşılık gelmektedir:
public class StringPoolTest {
	
	public static void main(String[] args) {
		
		String a="Ali";
		String b="Ali";
		
		if(a==b) {
			System.out.println("true");
		}else {
			System.out.println("false");
		}
	}

}
Uygulamayı çalıştırdığınızda çıktıya true yazacaktır. Ancak ikinci String "" ile değil de new String("Ali") ile yaratsaydık bu String havuzda olmayacaktır ve false cevabı alınacaktı. Aşağıdaki örnek false sonucu verecektir:
public class StringPoolInternTest {
	
	public static void main(String[] args) {
		
		String a="Ali";
		String b=new String("Ali");
		
		if(a==b) {
			System.out.println("true");
		}else {
			System.out.println("false");
		}
	}

}

Eğer bir String nesnesinin String'ini havuza eklenmesi isteniyorsa intern() yöntemi kullanılır. Bu yöntem geriye havuza eklenmiş String verir:
public class StringPoolInternTest {
	
	public static void main(String[] args) {
		
		String a="Ali";
		String b=new String("Ali");
		
		if(a==b) {
			System.out.println("true");
		}else {
			System.out.println("false");
		}
		
		b=b.intern();
		
		if(a==b) {
			System.out.println("true");
		}else {
			System.out.println("false");
		}
	}

}
Uygulama çalıştığında ilk olarak false yazar. Ancak intern() yöntemi çağrıldıktan nsonra kontrol edildiğinde true sonucu basar.
zafer.teker , 07.03.2020

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir