LongをIntegerに変換する 質問する

LongをIntegerに変換する 質問する

変換方法Long価値をIntegerJava での値ですか?

ベストアンサー1

Integer i = theLong != null ? theLong.intValue() : null;

または、null を気にする必要がない場合は、次のようにします。

// auto-unboxing does not go from Long to int directly, so
Integer i = (int) (long) theLong;

どちらの状況でも、オーバーフローが発生する可能性があります (Long は Integer よりも広い範囲を格納できるため)。

Java 8 にはオーバーフローをチェックするヘルパー メソッドがあります (その場合は例外が発生します)。

Integer i = theLong == null ? null : Math.toIntExact(theLong);

おすすめ記事