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 ) )。

评论

发表回复

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

站内搜索