РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
726 of 1163 menu

Метод equals класса Objects

Метод equals класса Objects сравнивает два объекта и возвращает true, если они равны, и false в противном случае. В первый параметр мы передаем первый объект для сравнения, во второй - второй объект. Главное отличие от обычного метода equals заключается в том, что этот метод безопасно работает с null: если оба объекта равны null, метод вернет true, а если только один из них null - вернет false. Это избавляет от необходимости писать проверки на null вручную.

Синтаксис

Objects.equals(obj1, obj2)

Пример

Давайте сравним две одинаковые строки:

import java.util.Objects; public class Main { public static void main(String[] args) { String str1 = "abcde"; String str2 = "abcde"; boolean res = Objects.equals(str1, str2); System.out.println(res); } }

Результат выполнения кода:

true

Пример

Давайте сравним две разные строки:

import java.util.Objects; public class Main { public static void main(String[] args) { String str1 = "abcde"; String str2 = "12345"; boolean res = Objects.equals(str1, str2); System.out.println(res); } }

Результат выполнения кода:

false

Пример

Давайте сравним объект с null:

import java.util.Objects; public class Main { public static void main(String[] args) { String str = "abcde"; boolean res = Objects.equals(str, null); System.out.println(res); } }

Результат выполнения кода:

false

Пример

Давайте сравним два null между собой:

import java.util.Objects; public class Main { public static void main(String[] args) { boolean res = Objects.equals(null, null); System.out.println(res); } }

Результат выполнения кода:

true

Пример

Давайте сравним два объекта пользовательского класса:

import java.util.Objects; public class Main { public static void main(String[] args) { User user1 = new User("abcde", 1); User user2 = new User("abcde", 1); boolean res = Objects.equals(user1, user2); System.out.println(res); } } class User { private String name; private int id; public User(String name, int id) { this.name = name; this.id = id; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } User user = (User) obj; return id == user.id && Objects.equals(name, user.name); } @Override public int hashCode() { return Objects.hash(name, id); } }

Результат выполнения кода:

true

Смотрите также

  • класс Objects,
    который содержит утилитные методы для работы с объектами
  • метод requireNonNull,
    который проверяет объект на null
  • метод isNull,
    который проверяет объект на null
  • метод nonNull,
    который проверяет объект на неравенство null
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить