Изящно избегая NullPointerException в Java

Рассмотрим эту строку:

if (object.getAttribute("someAttr").equals("true")) { // ....

Очевидно, что эта строка является потенциальной ошибкой, атрибут может бытьnull и мы получимNullPointerException, Таким образом, нам нужно изменить его на один из двух вариантов:

Первый вариант:

if ("true".equals(object.getAttribute("someAttr"))) { // ....

Второй вариант:

String attr = object.getAttribute("someAttr");
if (attr != null) {
    if (attr.equals("true")) { // ....

Первый вариант неудобен для чтения, но более лаконичен, в то время как второй ясен в намерениях, но многословен.

Какой вариант вы предпочитаете с точки зрения читабельности?

Ответы на вопрос(9)

Ваш ответ на вопрос