long强转int,long转为int

what ‘ sthemostidiomaticwayinjavatoverifythatacastfromlongtointdidnotloseanyinformation?

thisismycurrentimplementation :

publicstaticintsafelongtoint{

intI=(int ) l;

if () long ) I!=L}{

thrownewillegalargumentexception (l ‘ cannotbecasttointwithoutchangingitsvalue.’;

}

返回I;

}

anewmethodhasbeenaddedwithjava8todojustthat。

importstaticjava.lang.math.tointexact;

long foo=10L;

intbar=tointexact(foo );

willthrowanarithmeticexceptionincaseofoverflow。

severalotheroverflowsafemethodshavebeenaddedtojava8. theyendwithexact。

Examples:

math.incrementexact(long ) )。

math.subtractexact(long,long ) )。

math.decrementexact(long ) )。

math.negateexact(long )、

math.subtractexact(int,int ) )。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注