Mevlüt Becerikli

Basit diye bir şey yok !!! Bilmeyene 2+2 bile zor…

String & StringBuffer arasındaki sıkça sorulan fark

Yazan: Mevlüt Becerikli Tarih: Oca 3rd, 2010 | Kategori:: Java

String (bknz.) :

  • String, değişmez (immutable) veri tipidir. Dolayısıyla, değişmeyen karakter dizeleri için kullanılır.
  • Biraz daha açmamız gerekirse , String tipi static olduğundan bir veri değiştirdiğimizde, yeni bir String tipinde referansa (değişkene) atama işlemini yapar. Eski referans (değişken) serbest bırakılır. Örn:

String str = “Merhaba”;
str = str.concat(“ Dünya”);

Burada 3 adet String nesnesi oluşur (“Merhaba”,” Dünya”,” Merhaba Dünya”), ikisinin referansı (“Merhaba”,” Dünya”) serbest bırakılır.

  • Görüldüğü gibi String otomatik olarak örneklenir.

StringBuffer (bknz.):

  • StringBuffer, değişebilir (mutable) veri tipidir. Dolayısıyla, değiştirilebilir karakterler için kullanılır.
  • Aynı örneği StringBuffer ile yapıp karakter işlemlerinin aynı referansta yapıldığını öğrenelim :

StringBuffer strBuff = new StringBuffer(”Merhaba “);
strBuff.append(” Dünya”);

Burada 2 adet StringBuffer nesnesi oluşur (“Merhaba”,” Merhaba Dünya”), birinin referansı (“Dünya”) serbest bırakılır. “Dünya” nesnesi “Merhaba” nesnesinin sonuna eklenir.

  • Görüldüğü gibi StringBuffer, NEW anahtar sözcüğü ile örneklenir.

İyi Çalışmalar…



Yorum Yapin