Integer
可以是null
。我将Integer
转换为int
:
Integer integer = null;
int i;
try {
i = integer.intValue();
}
catch (NullPointerException e) {
i = -1;
}
有更好的方法吗?
答案 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)
Apache Commons Lang 3
ObjectUtils.firstNonNull(T...)
Java 8 Stream
Stream.of(T...).filter(Objects::nonNull).findFirst().orElse(null)
答案 3 :(得分:0)
使用Java8,以下方法也可以工作:
Optional.ofNullable(integer).orElse(-1)