1. System.out.println(sb1 == sb2);
Метод equals StringBuffer возвращает true, только когда объект StringBuffer сравнивается с самим собой. Он возвращает false при сравнении с любым другим StringBuffer, даже если они содержат одинаковые символы.
Это потому, что "==" проверяет равенство ссылок и поскольку sb1 и sb2 являются разными ссылками на объекты, поэтому вывод в этом случае "false"
Тем не менее, если вы хотите проверить, равно ли содержимое в этих двух объектах StringBuffer, вы можете использовать это:
sb1.toString().equals(sb2.toString())
2. System.out.println(sb1.equals(sb2));
Это дает вывод как "false", потому что метод .equals () не был переопределен в классе StringBuffer. Так что он использует метод .equals () из родительского класса «Object». В объектном классе .equals () был написан для проверки равенства ссылок.
Обратите внимание, что sb3.equals (sb4) вернет "true" в случае String. Поскольку метод .equals () был переопределен в классе String для проверки и сопоставления содержимого двух разных строк.