Назад к вопросам
Junior
82
questionbank

Почему нельзя сравнивать объекты в Java с помощью оператора «==»?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Оператор == сравнивает ссылки на объекты в памяти, а не их содержимое. Для сравнения содержимого объектов необходимо использовать метод equals().

Например:

// Пример сравнения объектов с помощью == и equals()
String s1 = new String("hello");
String s2 = new String("hello");

System.out.println(s1 == s2);       // false (разные ссылки)
System.out.println(s1.equals(s2));  // true (одинаковое содержимое)

Исключение составляют примитивные типы данных (byte, short, int, long, float, double, boolean, char), для которых оператор == сравнивает их значения.