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 (10858)
7 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 (15207)
    7 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