Sobes.tech
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).