Ответ
== сравнивает ссылки на объекты, проверяя, указывают ли они на один и тот же объект в памяти.
equals() – это метод, который можно переопределить для логического сравнения содержимого объектов. По умолчанию (в классе Object) он ведет себя так же, как ==, но часто переопределяется (например, в String, Integer).
Пример:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false (разные объекты)
System.out.println(a.equals(b)); // true (одинаковое содержимое)
Для примитивов (int, char и др.) == сравнивает значения.