我正在测试一些涉及到的代码的边界条件BigDecimal,并且注意到当aBigDecimal用String初始化时,"1e2147483647"它的行为异常。它似乎在0和之间具有一个值1e-2147483647。当我尝试打电话时intValue(),我得到一个提示NegativeArraySizeException。我应该注意,这2147483647是系统上整数的最大值。我是在做错什么,还是这有问题BigDecimal?
BigDecimal test = new BigDecimal("1e2147483647");
test.compareTo(new BigDecimal(0)); //Returns 1
test.compareTo(new BigDecimal("1e-2147483647")); //Returns -1
test.intValue(); //Throws NegativeArraySizeException