Ответ 1
С Java 8:
if (Optional.ofNullable(myInteger).orElse(0).intValue() != 0) {
...
}
Обратите внимание, что Optional
может помочь вам полностью избежать условий if, в зависимости от вашего варианта использования...
Есть ли более сжатый способ записи
if (myInteger != null && myInteger != 0) { ... }
Для примера, для Strings вы можете использовать StringUtils.isBlank()
С Java 8:
if (Optional.ofNullable(myInteger).orElse(0).intValue() != 0) {
...
}
Обратите внимание, что Optional
может помочь вам полностью избежать условий if, в зависимости от вашего варианта использования...
Я бы использовал для этого трехмерное условие. Что-то вроде:
public static boolean isNullorZero(Integer i){
return 0 == ( i == null ? 0 : i);
}
Это невозможно прочитать, я согласен;)
В зависимости от вашей реализации myInteger
(т.е. если свойство Integer внутри myInteger
- это тип поля Integer
или примитив unboxed int
), вам может потребоваться только одно условие.
Integer
являются действительными объектами, что означает, что они имеют возможность быть null
. При этом они могут также содержать 0 в качестве значения. Итак, в этом случае вам придется делать обе проверки.
int
является примитивным и не может содержать значение null
. В этом случае вам нужно будет проверить, не является ли ваше свойство int
равным 0.