[CEVAPLANDI] String türündeki değişkenlerin değiştirilemez olması
« Önceki sayfaya geri dön▲ ▼ |
Hocam, string türünde bir değişken tanımlayıp, ona farklı değerler atayabiliyoruz. Örneğin; String ad = "Ali"; ad = "Veli"; Burada değiştirilemezden kasıt tam olarak nedir? Değiştirilebilir olması için illa set metoduna mı sahip olması gerekir? CEVAPLANDI
|
▲ ▼ |
Burada ad nesneye isaret eden bir göstergectir (referans ya da pointer). Bu degiskene her seferinde ”aaa”; ile yeni bir deger atadiginida, yeni bir String nesnesi olusturmus oluyorsunuz. Bu sekilde ad referans olarak yeni bir nesneye isaret etmektedir. Yeni atama isleminden sonra bu referansin gösterdigi diger String nesne bosta kalmakta ve bir zaman sonra garbage collector tarafindan hafizadan silinmektedir. String nesneleri degistirilemez ile nesne bünyesinde yer alan karakterlerin nesne olusumundan sonra degistirlemeyecegi ifade edilmektedir. java.lang.String sinifinin koduna bakarsaniz, value[] isminde bir array görürsünüz. Bu array String nesnesini olusturan karakterli ihtiva eder. Bu degisken private dir ve disaridan müdehale edilmesine izin vermez, yani String bünyesindeki harfleri degistirmeniz mümkün degildir. Bunu anca yeni bir String nesnesi olusturarak basarabilirsiniz. |