Integer.parse(String str)java.lang.NumberFormatException:错误

Integer.parse(String str)java.lang.NumberFormatException:错误,第1张

Integer.parse(String str)java.lang.NumberFormatException:错误

这是因为

3020857508
超过了
Integer.MAX_VALUE
。您应该使用
long
字符串转换为数字。

java> String n="3020857508";//=> java.lang.String n = "3020857508"java> Integer a = Integer.parseInt(n.trim());//=> java.lang.NumberFormatException: For input string: "3020857508"java> Integer.MAX_VALUE//=> java.lang.Integer res2 = 2147483647java> Long a = Long.parseLong(n.trim());//=>java.lang.Long a = 3020857508

上面是javarepl的输出

如果使用的是JDK9或更高版本,则在jshell中可以看到相同的结果。

jshell> String n="3020857508"n ==> "3020857508"jshell> Integer a = Integer.parseInt(n.trim())|  Exception java.lang.NumberFormatException: For input string: "3020857508"|        at NumberFormatException.forInputString (NumberFormatException.java:65)|        at Integer.parseInt (Integer.java:652)|        at Integer.parseInt (Integer.java:770)|        at (#2:1)jshell> Integer.MAX_VALUE ==> 2147483647jshell> Long a = Long.parseLong(n.trim());a ==> 3020857508


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5506174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存