尝试将字符串解析为int时获取奇怪的NumberFormatException

时间:2013-07-05 02:56:59

标签: java runtime-error numberformatexception

我收到以下异常 - 请告知

java.lang.NumberFormatException: For input string: "2"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)

似乎没有空格,因为你可以看到“2”。我只是拆分一个字符串并获得“2”作为拆分数组的一个元素然后我得到这个同时尝试将其解析为一个int

请建议

3 个答案:

答案 0 :(得分:2)

您能否发布您的代码。如果例外是

,则为beacuse
java.lang.NumberFormatException: For input string: "2"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)

这意味着你的String说s是2不是“2” 对于“2”你不能使用

Integer myInt = Integer.parseInt(" \"2\" ");

这将以任何方式为您提供数字格式例外。因为你不能将字符串分配给它,所以只使用Integer.parseIn()解析数字,使用字符串“2”解析。

答案 1 :(得分:1)

检查字符串是2还是“2” 如果2然后使用

Integer myInt = Integer.parseInt("2");

如果“2”然后跳转然后应用Integer.parseInt();

答案 2 :(得分:0)

你正在传递“”你肯定有双引号,如

Integer myInt = Integer.parseInt(" \"2\" ");

只需使用

Integer myInt = Integer.parseInt("2");

您的问题出在Integer类的这一部分,您可以调试它

digit = Character.digit(s.charAt(i++),radix);