这种问题我遇到过两次不同的,一种是 String 转换为 int 型报错,另一种是 String 转换为 double 报错,其实是同一类型的错误,只是我运用的不同场景,忽略了本质。
第一种、错误提示信息如下:
Exception in thread "main" java.lang.NumberFormatException: For input string: "1 "
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at com.xnch.chaptor1.StringFormat.main(StringFormat.java:8)
下面是我模拟的一段代码:
public static void main(String[] args) {
String str = "1 ";
int result = Integer.parseInt(str);
System.out.println("结果为:" + result);
}
-
错误分析:错误关键字 NumberFormatException 这句话明确告诉了我们是数字格式异常,接着后面有
For input string: "1 "
提示,这就说明想把String类型的 "1 " 转换成数字类型时出错了。