Оператор «==» возвращает true, только если две ссылки указывают на один и тот же объект в памяти. Метод equals (), с другой стороны, возвращает true на основе содержимого объекта.
Пример:
String personalLoan = new String("cheap personal loans");
String homeLoan = new String("cheap personal loans");
//since two strings are different object result should be false
boolean result = personalLoan == homeLoan;
System.out.println("Comparing two strings with == operator: " + result);
//since strings contains same content , equals() should return true
result = personalLoan.equals(homeLoan);
System.out.println("Comparing two Strings with same content using equals method: " + result);
homeLoan = personalLoan;
//since both homeLoan and personalLoand reference variable are pointing to same object
//"==" should return true
result = (personalLoan == homeLoan);
System.out.println("Comparing two reference pointing to same String with == operator: " + result);
Вывод: сравнение двух строк с оператором ==: false Сравнение две строки с одинаковым содержимым с использованием метода equals: true Сравнение двух ссылок, указывающих на ту же строку с оператором ==: true
Вы также можете получить более подробную информацию по ссылке: http: //javarevisited.blogspot .в / 2012/12 / разница между ними-равно-метод-и-равенство-оператор-java.html? т = 1