使用parseDouble时出现Nullpointerexception

时间:2014-11-03 19:46:48

标签: java loops arraylist double

我一直在摸不着头脑......但无法弄清楚该怎么做。

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

有什么线索我在这里失踪了吗? :/

1 个答案:

答案 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。