我正在从数据库中检索两个值,并且需要将它们相除,但它在第 1 行和第 2 行给出了空指针异常
1 int value1 = Integer.parseInt(rs.getString("value1"));
2 int value2 = Integer.parseInt(rs.getString("value2"));
3 double result = (double)value1/value2;
Error
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:417)
at java.lang.Integer.parseInt(Integer.java:499)
最佳答案
这是因为,您从数据库中获取 null
值,无法将其传递给 Integer.parseInt()
。
如果 res.getString("value1");
或 res.getString("value2")
之一为 null
,你会得到一个异常(exception)。
更好的方法是将转换包装在 try-catch
block 周围,并在 catch
block 中打印 res.getString("value1") 的值
;检查返回的实际值。
编辑:-
当然,您也可以先打印返回的值,然后再将其转换为整数
,看看它是否为null
。
关于java - 一旦两个值相除就会出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12985678/