このコードがスローするのはなぜNumberFormatException
ですか?
int a = Integer.parseInt("1111111111111111111111111111111111111111");
int
そのための値を取得する方法はString
?
このコードがスローするのはなぜNumberFormatException
ですか?
int a = Integer.parseInt("1111111111111111111111111111111111111111");
int
そのための値を取得する方法はString
?
int
解析しようとしている値が、許容される最大値 ( Integer.MAX_VALUE
、または2147483647
)よりもはるかに大きいため、 aNumberFormatException
がスローされます。long
許容される最大値( Long.MAX_VALUE
、または)よりも大きいため、その値を格納するに9223372036854775807L
は が必要です。BigInteger
BigInteger veryBig = new BigInteger("1111111111111111111111111111111111111111");
不変の任意精度の整数。
これは、 の数値文字列がかなり大きいためint
です。おそらくこれにはBigInteger
.
その文字列に整数値はありません。そのため、例外をスローしています。整数の最大値は 2147483647 であり、あなたの値は明らかにそれを超えています。