Number.intValue轮次

时间:2013-11-20 15:05:44

标签: java numbers

我有一个Number对象并调用" intValue()"这将返回一个Integer值。 但是,如果该值大于Integer.MAX_VALUE,则该方法会进行舍入。没关系,但是如果功能完成,我想知道。

有什么方法可以在intValue回合时收到通知吗?

我可以做的解决方法:

if (Number.longValue() > Integer.MAX_VALUE)
  okay, it will be rounded... some logic here

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

Number本身就是抽象类。 IntegerNumber的子类。可能是,在你的情况下,它足以检查对象的instanse是否为Integer

Number num = ....
int i = 0;
if (num instanceof Integer) {
  i = (Integer)num;
}

答案 1 :(得分:1)

您可以投射并捕捉异常

Integer intVersion;
Number longVersion = 2332212344334L;

try{
    intVersion = (Integer) longVersion;
}
catch(ClassCastException e) {
    System.out.println("here is your notification :)");
}