String
1 min readJan 29, 2020
Stringler hakkında bilmemiz gereken şey şunlardır;
- java.lang.String sınıfında yer alırlar.
- immutable’dır yani değişmezlerdir.
- String class’i değil objeci immutable’dir.
- Karşılaştırma yapılırken == ifadesi kullanmak yerine equals() kullanılmalıdır.
immutable(değişmez) için örnek olarak şu kod parçacasını verebiliriz.
Burada açıklamamız gereken şeyler;
- İlk sout ile ekrana yazdırdığımızda java yazacak ve concat işlemi gerçekleşmeyecek çünkü String immutable’dır.String
- Eğer concat işlemi yapacaksak String variable’a assign etmemiz gerekmektedir.
- Örnek olarak name variable’a concat’i assign ettiğimiz için ikinci yazdırdığımızda javaimmutable yazacaktır.
- firstName variable ile başka bir konuya değinelim.
- firstName’e concat işlemini assign ettiğimizde,
- kadir farklı bir alanda ve demircan farklı bir alanda tutulur.
- kadir demircan olarak concat ettiğimizde yeni bir obje oluşur ve oraya yaşamaya başlar.
- kadir ve demircan grbage collector tarafından temizlenir.
Bir diğer konu;
Örnek olarak;
Burada açıklamamız gereken şeyler;
- name1 variable java ismini verdik.
- name2 variable javase ismini verdik.
- name1 ve name2 variable’ları == operatoru ile karşılaştırdığımızda isimlere değil objelerin alanlarını karşılaştırır.
- Farklı isimde oldukları için ikiside farklı objelerde tutulur. Bu yüzden ekrana false döner.
- name3 variable java ismini verdik ve name1 ile name2 variable’ları == operatoru ile karşılaştırdığımızda,
- Yukarıda belirttiğimiz gibi aynı isimden bir obje varsa bir tane daha obje oluşmayacağı için true dönecektir.
Github linki : String