immutable
-
javada, degeri degi$tirilemeyen nesneler icin kullanilan niteleme. wrapper nesneleri ya da string nesneleri, ornek olarak verilebilir.
ornek:
string x = "obafemi";
x.concat(" martins");
system.out.println("x = " + x);
yukaridaki kodun ciktisi; x = obafemi olur. cunku string nesneleri, tanim geregi, immutabledir, degerleri degi$tirilemez, bu durumda ikinci satirda cagrilan concatenation method'u, x'in mevcut degerini degi$tirmez, sadece yeni bir string nesnesinin yaratilmasina sebep olur, ama yaratilan bu nesne, herhangi bir referans degi$kenine atanmadigi icin, memory'de eri$ilemez bir $ekilde durmaya mahkumdur.
ote yandan, immutable taniminin biraz kafa kari$tiran bir yani daha vardir: immutable bir nesnenin atandigi referans degi$keni immutable degildir.
yukaridaki string orneginden devam edersek:
string x = "obafemi";
x = x.concat(" martins");
system.out.println("x = " + x);
bu kez cikti; x = obafemi martins olur. cunku x'e atanan string degerinin pe$ine yeni bir string daha yapi$tirilmi$tir ve bu yeni string de, referans degi$kenleri immutable olamayacagi icin, tekrar x'e atanabilmi$tir.
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap