Изящно избегая 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")) { // ....
Первый вариант неудобен для чтения, но более лаконичен, в то время как второй ясен в намерениях, но многословен.
Какой вариант вы предпочитаете с точки зрения читабельности?