java - 一旦两个值相除就会出现异常

标签 java numberformatexception

我正在从数据库中检索两个值,并且需要将它们相除,但它在第 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/

相关文章:

java - 将数字变量从 HTML 传递到 java

java - 从字符串转换为 UTC 格式

java - 更新 JComboBox 弹出菜单

java - 将 IEEE-754 double 和单精度转换为十进制 Java bug

java - 分数计算器输入错误

java - 多框架 GUI 中的 NumberFormatException

java - 如何在 java 中将 16 位以上的字符串转换为整数?

java - Controller 测试 - CacheManager 已关闭。无法再使用

java - Spring数据库触发器

java - 如何使用Java获取同一个键的多个值