Junior — Middle
Java'da nesneleri karşılaştırırken equals metodunun kullanımı ile == operatörü arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da == operatörü, nesnelerin referanslarını karşılaştırır, yani iki değişkenin aynı bellek nesnesine işaret edip etmediğini kontrol eder. equals() metodu ise nesnelerin içeriğini, yani mantıksal eşitliği karşılaştırmak için tasarlanmıştır.
Örneğin, dizeler için:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, farklı nesneler
System.out.println(a.equals(b)); // true, aynı içerik
Önemli: Sınıfın equals() metodunu geçersiz kılması gerekir ki içerik karşılaştırması doğru çalışsın. Eğer equals() geçersiz kılınmamışsa, varsayılan olarak == gibi davranır (referansları karşılaştırır).