Number.int数值舍入



我有一个Number对象,并调用"intValue()",它将返回一个Integer值。但是,如果该值大于Integer.MAX_value,则该方法将舍入。没关系,但如果函数循环,我想得到通知。

有没有办法通知intValue何时取整?

作为变通办法,我可以做:

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

有更好的方法吗?

您可以投射并捕获异常

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

数字本身就是一个抽象类。Integer是Number的子类。可能是,在您的情况下,检查对象的instense是否为Integer就足够了?

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

相关内容

  • 没有找到相关文章

最新更新