javada equals metodu nedir nasıl kullanılır?

soruldu: 24 Mar '15, 05:40

fatihacar's gravatar image

fatihacar
241121526
cevap kabul oranı: 10%

değiştirildi: 24 Mar '15, 05:42


Hocam equals medotu iki değişkenin değerlerinin aynı olup olmadığının belirlenmesinde kullanılır.

String a = '33';
String b = '33';
String c = a;

if(a.equals(b)){ 
    //a ile b 'nin aldıkları değerler eşittir
}

if(a.equals(c)){
    //a ile c'nin aldıkları değerler eşittir
}

euqals ile == farkı, equals değişkenlerin değerlerine bakar eşit mi ; == ise değişkenkenlerin göstermiş olduğu adrese bakar eşit mi? == 'de değişkenler aynı adrese işaret etmek zorundadır.

if(c == a){
    //a ile c aynı adresi gösteriyor.
}
if(c == b){
    //c ile b aynı adrese işaret etmedikleri için bu satıra girilmez
}
permanent link

cevaplandı: 24 Mar '15, 10:45

altan_518's gravatar image

altan_518
444127
cevap kabul oranı: 15%

2

Bir düzeltme yapmak istiyorum. eğer değişkenler primitive type ise(int,long,decimal...) == değerlerin aynı olup olmadığını kontrol eder. Eğer Reference type ise(Integer,String,Decimal,Long ...) == bellek adreslerini karşılaştırır.Reference Type olan değişkenlerimizin değerlerini karşılaştırmak için equals() metodundan yararlanırız.

(24 Mar '15, 12:36) Müslüm ÖZTÜRK M%C3%BCsl%C3%BCm%20%C3%96ZT%C3%9CRK's gravatar image

Haklısınız ama düzeltme değil de, ekleme desek daha doğru olur.Zira benim örneğimdeki değişkenler String tipinde. Ekleme için teşekkürler.

(25 Mar '15, 03:00) altan_518 altan_518's gravatar image

ben de bir ekleme yapayım; bahsi gecen degiskenler data model sınıfları(dto, veritabanından cekilen vs) tipindense ilgili nesnenin ayırt edici field'ına(primarykey kolonu vs) gore model sınıfının equals() ve hashCode() metotlarının override edilmesi onerilir. cunku bu tarz degiskenlerin esitliginin sorgulanmasi aslinda hafizadaki adreslerinin sorgulanmasindan farklı bir yaklasim gerektirir: http://tutorials.jenkov.com/java-collections/hashcode-equals.html

permanent link

cevaplandı: 25 Mar '15, 04:43

gturedi's gravatar image

gturedi
2.8k41538
cevap kabul oranı: 26%

teşekkür ederim çok güzel açıklama olmuş.

permanent link

cevaplandı: 25 Mar '15, 03:21

fatihacar's gravatar image

fatihacar
241121526
cevap kabul oranı: 10%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,077
×1

Soruldu: 24 Mar '15, 05:40

Görüntüleme: 698 kez

Son güncelleme: 25 Mar '15, 04:43

powered by BitNami OSQA