package com.geelou.test; public class ErrTest { public static void main(String[] args) { String numString = "1 "; System.out.println(Integer.parseInt(numString)); } }
錯誤提示信息如下:
1 Exception in thread "main" Java.lang.NumberFormatException: For input string: "1 " 2 3 at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) 4 5 at java.lang.Integer.parseInt(Integer.java:458) 6 7 at java.lang.Integer.parseInt(Integer.java:499) 8 9 at com.geelou.test.ErrTest.main(ErrTest.java:6) 10 11
錯誤關鍵字 java.lang.NumberFormatException 這句話明確告訴了我們是數字格式異常,接着后面有 For input string: "1 " 提示,這就告訴我們你當前想把 "1 " 轉換成數字類型時出錯了,這樣就很確切了。
具體是哪個類的哪個方法的哪一行的錯誤了,看下面錯誤堆棧,找自己寫的第一個類com.geelou.test.ErrTest.main(ErrTest.java:6) 原來是 com.geelou.test.ErrTest 類的main方法里的第6行出錯了。
這樣就定位到了System.out.println(Integer.parseInt(numString));具體是 Integer.parseInt(numString) 時出的錯,知道了錯誤地方就可以相應的解決了
解決辦法很簡單,改成 Integer.parseInt(numString.trim()) 就可以啦