Проверка, если два объекта равны, даже если они могли бы быть пустыми

Иногда, я вижу это:

if (a.equals(b)) do(something);

Однако, если a является пустым, NullPointerException брошен. Принятие, когда a==null и b==null или если просто a==b то, что я хотел бы do(something). Что самый простой путь состоит в том, чтобы сделать эту проверку, не получая исключение?

10
задан Cody Gray 11 August 2017 в 14:39
поделиться

2 ответа

if( a==b || (a!=null && a.equals(b)) )

(The a==b обрабатывает случай, когда оба являются нулевыми.)


Также знайте о методе Java 7 и выше Object.equals:

if(java.util.Object.equals(a, b))
22
ответ дан 3 December 2019 в 13:32
поделиться

Еще один способ написания его.

if (a == null ? b == null : a.equals(b))
24
ответ дан 3 December 2019 в 13:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: