Objects.equals()
Сравнивает два объекта через equals(), безопасно для null.
Доступно с: Java 7
Синтаксис
static boolean equals(Object a, Object b)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| a | Object | Первый объект, может быть null. |
| b | Object | Второй объект, может быть null. |
Возвращаемое значение
booleantrue, если оба null или a.equals(b).
Примеры
Никакого NullPointerException:
void main() {
String a = null;
String b = "Anna";
IO.println(Objects.equals(a, b));
IO.println(Objects.equals(null, null));
IO.println(Objects.equals("Anna", b));
}Результат:
false
true
trueПримечания
Удобен в собственных equals(), когда поля могут быть null: Objects.equals(email, other.email). Для массивов сравнивает ссылки — используйте Arrays.equals().
См. также
- Object.equals() — Сравнивает объекты по смыслу. По умолчанию работает как ==, поэтому в своих классах его переопределяют.
- String.equals() — Сравнивает содержимое двух строк.
- Objects.isNull() — Проверяет значение на null; парный метод nonNull() — наоборот.
Вопросы и ответы по теме
В учебнике
- Методы класса Object — Методы toString, equals и hashCode в Java: как их переопределять и почему equals и hashCode всегда меняют вместе.