Метод equals() класса String в Java
Метод equals() используется для сравнения строки с указанным объектом.
Метод equals() переопределён в классе String для сравнения содержимого двух строк на равенство.
Синтаксис
public boolean equals(Object anObject)
Parameters
anObject-- Объект для сравнения со строкой.
Возвращаемое значение
Возвращает true, если заданный объект равен строке; в противном случае возвращает false.
Пример
Пример
public class Test {
public static void main(String args[]) {
String Str1 = new String("example");
String Str2 = Str1;
String Str3 = new String("example");
boolean retVal;
retVal = Str1.equals( Str2 );
System.out.println("Return value = " + retVal );
retVal = Str1.equals( Str3 );
System.out.println("Return value = " + retVal );
}
}
public static void main(String args[]) {
String Str1 = new String("example");
String Str2 = Str1;
String Str3 = new String("example");
boolean retVal;
retVal = Str1.equals( Str2 );
System.out.println("Return value = " + retVal );
retVal = Str1.equals( Str3 );
System.out.println("Return value = " + retVal );
}
}
Вывод вышеприведённой программы:
返回值 = true 返回值 = true
Используйте==иequals()для сравнения строк.
В String,==== сравнивает, совпадают ли адреса ссылок,equals()equals сравнивает, одинаково ли содержимое строк:
String s1 = "Hello"; // String создана напрямую
String s2 = "Hello"; // String создана напрямую
String s3 = s1; // Та же ссылка
String s4 = new String("Hello"); // Создан объект String
String s5 = new String("Hello"); // Создан объект String
s1 == s1; // true, та же ссылка
s1 == s2; // true, s1 и s2 оба находятся в публичном пуле, та же ссылка
s1 == s3; // true, s3 имеет ту же ссылку, что и s1
s1 == s4; // false, разные адреса ссылок
s4 == s5; // false, разные адреса ссылок в куче
s1.equals(s3); // true, одинаковое содержимое
s1.equals(s4); // true, одинаковое содержимое
s4.equals(s5); // true, одинаковое содержимое
String s2 = "Hello"; // String создана напрямую
String s3 = s1; // Та же ссылка
String s4 = new String("Hello"); // Создан объект String
String s5 = new String("Hello"); // Создан объект String
s1 == s1; // true, та же ссылка
s1 == s2; // true, s1 и s2 оба находятся в публичном пуле, та же ссылка
s1 == s3; // true, s3 имеет ту же ссылку, что и s1
s1 == s4; // false, разные адреса ссылок
s4 == s5; // false, разные адреса ссылок в куче
s1.equals(s3); // true, одинаковое содержимое
s1.equals(s4); // true, одинаковое содержимое
s4.equals(s5); // true, одинаковое содержимое

Другие расширения
Класс String в Java