Sobes.tech
Junior — Middle

Jak w Javie realizowane jest porównanie obiektów na równość za pomocą operatora ==?

sobes.tech AI

Odpowiedź od AI

W Javie operator == podczas porównywania obiektów sprawdza, czy obie zmienne odwołują się do tego samego obiektu w pamięci, czyli porównuje odwołania, a nie zawartość obiektów.

Jeśli chcesz porównać zawartość obiektów, używa się metody equals(), którą można nadpisać w klasie, aby zdefiniować logikę porównania.

Przykład:

String a = new String("test");
String b = new String("test");

System.out.println(a == b);       // false, różne obiekty
System.out.println(a.equals(b));  // true, zawartość jest taka sama

W związku z tym operator == dla obiektów sprawdza równość odwołań, a nie wartości.