CodeBlanks Logo Icon CodeBlanks

equals ve equalsIgnoreCase

equals() ile dize karşılaştırmayı öğrenirsin.

equals ve equalsIgnoreCase

İki String'in içeriğini karşılaştırmak için equals kullanılır. == referansları karşılaştırır; bu yüzden String'lerde equals tercih edilir.

String a = "Merhaba";
String b = "Merhaba";
System.out.println(a.equals(b));         // true
System.out.println(a.equalsIgnoreCase(b)); // true (büyük/küçük duyarsız)

equalsIgnoreCase büyük/küçük harf farkını yok sayar. "JAVA".equalsIgnoreCase("java") true döner.

String karşılaştırmada en sık yapılan hata == kullanmaktır.

Uygulama equals ile karşılaştır

Bir Main sınıfı ve main metodu yaz. String a değişkenine "Merhaba", String b değişkenine "merhaba" ata. println ile a.equals(b) ve a.equalsIgnoreCase(b) sonuçlarını yazdır.

Örnek çözüm

Main.java
public class Main {
    public static void main(String[] args) {
        String a = "Merhaba";
        String b = "merhaba";
        System.out.println(a.equals(b));
        System.out.println(a.equalsIgnoreCase(b));
    }
}

Beklenen çıktı

false
true

Neden == çalışmaz?

String'ler referans türüdür. == iki değişkenin aynı nesneyi gösterip göstermediğini kontrol eder; içeriği değil.

String a = "Merhaba";
String b = new String("Merhaba");
System.out.println(a == b);       // false!
System.out.println(a.equals(b)); // true

Java bazı String'leri havuzlar (intern), bu yüzden bazen == true verebilir. Ama bu güvenilir değildir; her zaman equals kullanın.

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Metotları eşleştir

Kavram Anlamı
equals İçerik eşit
equalsIgnoreCase Büyük/küçük duyarsız
== Referans karşılaştırma
!= Eşit değil

2 "JAVA".equalsIgnoreCase("java") ne döner?

  • false
  • true Doğru cevap
  • null
  • Hata

Açıklama: equalsIgnoreCase büyük/küçük farkını yok sayar.

3 equals çağrısını tamamla

Soru
boolean same = a.____(b);
Cevap
boolean same = a.equals(b);

Açıklama: a.equals(b) iki dizenin içeriğini karşılaştırır.

Başlangıç bölümündeki tüm dersler