Java ile iki string ifadeyi nasıl karşılaştırırım?

0

Merhaba,

Java'da iki string ifadeyi karşılaştırırken == ifadesini kullanıyorum. Geçenlerde yazdığım bir kodda bununla ilgili bir bug ile karşılaştım. Sorunu .equals() ifadesi ile çözdüm. Java'da string ifadeleri karşılaştırırken == kullanmak yanlış bir işlem mi? Açıkcası sorunu çözdüm fakat == ile .equals() arasındaki farkı anlayabilmiş değilim.

Java'da string ifadeleri karşılaştırırken .equals() mi yoksa == mi kullanmalıyım? Hangisi daha doğru? == ve .equals() arasında ne fark var?

murat murat (9668)
5 yıl önce sordu

Toplam 1 Cevap


0

Java dilinde,

==  Referans (Reference) eşitliğini

.equals()  Değer(Value) eşitliğini kontrol eder.

Eğer iki string ifadenin aynı değerlere sahip olup olmadığını kontrol edecekseniz .equals() ifadesini kullanmanız uygun olur.

== ifadesi iki string ifadenin aynı nesne olup olmadığını kontrol eder.

Performans olarak == ifadesi çok daha hızlı çalışır.

// Bu ikisi aynı değere sahiptir
new String("uzmanimNet").equals("uzmanimNet") ==> true 

// Fakat aynı nesne (Object) değildir
new String("uzmanimNet") == "uzmanimNet" ==> false 

// Aynı şekilde bu ikisi aynı nesne değildir.
new String("uzmanimNet") == new String("uzmanimNet") ==> false 

// Bu ikisi aynı nesnedir.
"uzmanimNet" == "uzmanimNet" ==> true 

 

alattin alattin (13099)
5 yıl önce cevaplandı

üyelik gerektirir

Cevap yazabilmek için üye girişi yapmalısınız.

Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol