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.