Integer
はnull
にすることができます。次の方法でInteger
をint
に変換します。
Integer integer = null;
int i;
try {
i = integer.intValue();
}
catch (NullPointerException e) {
i = -1;
}
もっと良い方法はありますか?
例外を回避することは常に優れています。
int i = integer != null ? integer.intValue() : -1;
Java8では、以下も機能します。
Optional.ofNullable(integer).orElse(-1)
クラスパスにすでにguava
がある場合は、 michaelgulakから提供された回答 が好きです。
Integer integer = null;
int i = MoreObjects.firstNonNull(integer, -1);
Apache Commons Lang 3
ObjectUtils.firstNonNull(T...)
Java8ストリーム
Stream.of(T...).filter(Objects::nonNull).findFirst().orElse(null)