自己怎么做条件判断?
if (sum > Long.MAX_VALUE)
   throw new exception("overflow?");是这样?还是不可以
应该怎么自己做条件判断?

解决方案 »

  1.   


    long是8字节的整数,64个bit,最大值是2的63次方,也就是8T,大容量数据库的容量也不过如此,这对于一般应用应该足够。java中的时间也是long来表示的。我不太明白你为什么需要做这种溢出判断。如果真有这种需求,请看下面这个方法:long addLong(long l1, long l2) throws Exception
    {
        long temp = Long.MAX_VALUE - l1;
        if (temp < l2)
           throw new Exception("long运算溢出!");    return l1 + l2;
    }
      

  2.   

    如果要测试两个数相乘的积是否溢出怎么做呢
    long MultiLong(long l1, long l2) throw Exception
    {
        long temp = Long.MAX_VALUE / l1;
        if (temp < l2) 
           throw new Exception("overflow");
        return l1 * l2;
    }