书上只给了一个ValueOf成员函数,他只能接受 long 型参数,这样就和 long 类型一样了啊。
现在想要处理:999999999999999999999999999999999999999999999999999999999999999999999
这就编译不了了

解决方案 »

  1.   

    使用BigDecimal大数操作,可以参看下Java API,进行加减乘除等操作里面都有方法介绍
      

  2.   

    参考JavaAPI 这里用String构造一个大数
    BigInteger bi=new BigInteger("999999999999999999999999999999999999999999999999999999999999999999999");
    System.out.println(bi);
      

  3.   


    这个已经超过界限了从源代码看: public static BigInteger valueOf(long val) {
    // If -MAX_CONSTANT < val < MAX_CONSTANT, return stashed constant
    if (val == 0)
        return ZERO;
    if (val > 0 && val <= MAX_CONSTANT)
        return posConst[(int) val];
    else if (val < 0 && val >= -MAX_CONSTANT)
        return negConst[(int) -val]; return new BigInteger(val);
        } private final static int MAX_CONSTANT = 16;