web-dev-qa-db-ja.com

Javaで整数(nullの可能性があります)をintに変換するより良い方法はありますか?

Integernullにすることができます。次の方法でIntegerintに変換します。

Integer integer = null;
int i;

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

もっと良い方法はありますか?

10
SparkAndShine

例外を回避することは常に優れています。

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

Java8では、以下も機能します。

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

クラスパスにすでにguavaがある場合は、 michaelgulakから提供された回答 が好きです。

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