equals ve equalsIgnoreCase
- Java kursu
- Başlangıç
- Ders 31/116
- 4 dk
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
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)); // trueJava 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
boolean same = a.____(b);
boolean same = a.equals(b);
Açıklama: a.equals(b) iki dizenin içeriğini karşılaştırır.