为什么这段代码会抛出NumberFormatException?
int a = Integer.parseInt("1111111111111111111111111111111111111111");
如何获得int价值String?
为什么这段代码会抛出NumberFormatException?
int a = Integer.parseInt("1111111111111111111111111111111111111111");
如何获得int价值String?
您尝试解析的值远大于最大允许int值(Integer.MAX_VALUE或2147483647),因此NumberFormatException会抛出 a。它也大于最大允许值long(Long.MAX_VALUE或9223372036854775807L),因此您需要 aBigInteger来存储该值。
BigInteger veryBig = new BigInteger("1111111111111111111111111111111111111111");
不可变的任意精度整数。
这是因为数字字符串对于int. 可能这需要一个BigInteger.
该字符串没有整数值。这就是它抛出异常的原因。整数的最大值是 2147483647,你的值显然超过了这个值。