在Java中将Integer(可能为null)转换为int的更好方法?

时间:2015-10-22 09:25:49

标签: java integer int converter

Integer可以是null。我将Integer转换为int

Integer integer = null;
int i;

try {
    i = integer.intValue();
}
catch (NullPointerException e) {
    i = -1;
} 

有更好的方法吗?

4 个答案:

答案 0 :(得分:12)

避免异常总是更好。

int i = integer != null ? integer.intValue() : -1;

答案 1 :(得分:2)

如果您的类路径中已经有guava,那么我喜欢answer provided by michaelgulak

Integer integer = null;
int i = MoreObjects.firstNonNull(integer, -1);

答案 2 :(得分:0)

答案 3 :(得分:0)

使用Java8,以下方法也可以工作:

Optional.ofNullable(integer).orElse(-1)