Загружаем изображение…
== vs equals() — в чём разница?
Один из самых распространённых вопросов на собеседованиях по Java.
== сравнивает ссылки на объекты — то есть проверяет, указывают ли две переменные на один и тот же объект в памяти.
equals() сравнивает содержимое объектов. Но только если класс корректно переопределил этот метод. Например, у String equals() сравнивает текст, а не ссылки.
Пример:
String a = new String("Java");
String b = new String("Java");
System.out.println(a == b); // false
System.out.println(a.equals(b)); // true
Запомните простое правило: для сравнения объектов почти всегда используйте equals(), а == оставьте для примитивов, enum, проверки на null и случаев, когда действительно нужно сравнить ссылки.