我一直在摸不着头脑......但无法弄清楚该怎么做。
String tempprice = null;
String findPriceCommand = "SELECT sellingprice FROM `item` WHERE itemNo = '" + itemNo + "'";
try
{
tempprice = viewValue(conn, findPriceCommand);
}
catch (SQLException e)
{
e.printStackTrace();
}
Double price = Double.parseDouble(tempprice);
Double temp = (quantity.get(count) * price);
finalprice.add(temp);
所有我试图通过itemNo从数据库中获取价格。由于我将此值作为字符串值获取,因此我使用Double price = Double.parseDouble(tempprice);
将其更改为double值。
在我将finalprice
转换为ArrayList
之前,这一切都有效(这样我就可以一次插入多个值...(上面给出的代码是循环的一部分......)无论如何,现在我得到一个{ {1}}
像这样:
NullPointerException
有什么线索我在这里失踪了吗? :/
答案 0 :(得分:2)
看一下API Doc:
http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#parseDouble%28java.lang.String%29
除其他外,当s为NULL时,Double.parseDouble(String s)将抛出NullPointerException。
只是一个提示。当你得到任何异常时,请看看堆栈跟踪。它将首先显示您的NullPointerException出现异常的确切位置。从那里开始,只有一小步才能看出问题出在tempprice变量中。拿一个调试器并逐步执行代码,看看为什么tempprice为NULL。