当我执行以下代码时,我收到以下异常
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)
答案 0 :(得分:7)
您传递的数字超出整数范围,从-2,147,483,648到2,147,483,647
答案 1 :(得分:3)
这个数字对整数来说太大了。整数是32位值,因此最大值是2,147,483,647。请尝试使用long。
答案 2 :(得分:1)
试
Long.parseLong(1357679682162);
答案 3 :(得分:0)
Java Integer Max值为2147483647。
您正在尝试解析1357679682162。
答案 4 :(得分:0)
数字是不是太大而不适合int? java中int的范围是-2,147,483,648到2,147,483,647。也许你应该使用parseLong。
尝试
Long.parseLong(1357679682162)+1
答案 5 :(得分:0)
这个数字太长了。
整数应该小于2 ^ 31 = 2147483646
http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Integer.html
答案 6 :(得分:0)
使用以下代码检查自己,并使用可行类型为您的解决方案。
System.out.println(Integer.MAX_VALUE);
System.out.println(Long.MAX_VALUE);