Метод equals() класса Object в Java

Java String类Класс Object в Java


Метод equals() класса Object используется для сравнения, равны ли два объекта.

Метод equals() сравнивает два объекта и определяет, указывают ли две ссылки на объекты на один и тот же объект, т. е. он проверяет только, указывают ли два объекта на один и тот же адрес в памяти.

Примечание:Если подкласс переопределяет метод equals(), ему необходимо переопределитьметод hashCode(), например, класс String переопределяет метод equals() и также переопределяет метод hashCode().

Синтаксис

object.equals(Object obj)

Параметр

  • obj- Объект для сравнения.

Возвращаемое значение

Возвращает true, если два объекта равны, иначе возвращает false.

Пример

В следующем примере демонстрируется использование метода equals():

Пример

class ExampleTest { public static void main(String[] args) { //Класс Object использует метод equals() //Создайте два объекта Object obj1 = new Object(); Object obj2 = new Object(); //Определите, равны ли obj1 и obj2 //Разные объекты имеют разные адреса памяти, поэтому они не равны, возвращается false System.out.println(obj1.equals(obj2)); // false //Присвойте obj1 переменной obj3 //String переопределяет метод equals() //Ссылки на объекты имеют один и тот же адрес памяти, поэтому они равны, возвращается true Object obj3 = obj1; System.out.println(obj1.equals(obj3)); // true } }

Приведённая выше программа выдаёт следующий результат:

false
true

Класс String переопределяет метод equals() для сравнения двух строк на равенство:

Пример

class ExampleTest { public static void main(String[] args) { //Класс String использует метод equals() //Создайте два объекта String obj1 = new String(); String obj2 = new String(); //Определите, равны ли obj1 и obj2 //Оба инициализированных объекта равны null, поэтому они равны, возвращается true System.out.println(obj1.equals(obj2)); // true //Присвойте значения объектам obj1 = "Example"; obj2 = "Google"; //Определите, равны ли obj1 и obj2 //Эти два значения различаются, и адреса в памяти также различаются, поэтому они не равны, возвращается false System.out.println(obj1.equals(obj2)); // false } }

Приведённая выше программа выдаёт следующий результат:

 true
false

Java String类Класс Object в Java

Другие расширения