0

次のコードを実行すると、次の例外が発生します

Integer.parseInt(1357679682162)+1

 INFO | jvm 1 | srvmain | 2013/01/08 22:22:09.496 | Caused by: java.lang.NumberFormatException: For input string: "1357679682162"
 INFO | jvm 1 | srvmain | 2013/01/08 22:22:09.496 | at java.lang.NumberFormatException.forInputString(Unknown Source)
 INFO | jvm 1 | srvmain | 2013/01/08 22:22:09.496 | at java.lang.Integer.parseInt(Unknown Source)
 INFO | jvm 1 | srvmain | 2013/01/08 22:22:09.496 | at java.lang.Integer.parseInt(Unknown Source)
4

7 に答える 7

7

渡された数値は、-2,147,483,648 から 2,147,483,647 までの整数の範囲外です

于 2013-01-10T11:19:53.490 に答える
3

その数は整数には大きすぎます。整数は 32 ビット値なので、最大値は 2,147,483,647 です。代わりに long を使用してみてください。

于 2013-01-10T11:20:24.380 に答える
1

試す

Long.parseLong(1357679682162);
于 2013-01-10T11:22:31.090 に答える
0

Java 整数の最大値は 2147483647 です。

そして、1357679682162 を解析しようとしています。

于 2013-01-10T11:21:20.563 に答える
0

以下のコードで自分自身をチェックし、ソリューションに実行可能なタイプを使用してください。

System.out.println(Integer.MAX_VALUE);
System.out.println(Long.MAX_VALUE);
于 2013-01-10T11:30:06.907 に答える
0

数値が大きすぎて int に収まりませんか? Java の int の範囲は -2,147,483,648 から 2,147,483,647 です。代わりに parseLong を使用する必要があるかもしれません。

試す

Long.parseLong(1357679682162)+1
于 2013-01-10T11:22:02.430 に答える
0

番号が長すぎます。

整数は 2 ^31 = 2147483646 未満である必要があります

http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Integer.html

于 2013-01-10T11:22:18.093 に答える