Dan*_*Dan 1 java nullpointerexception
String[] toppings = new String[10];
BigDecimal toppingsPrice = null;
toppings[0] = req.getParameter("extraCheese");
toppings[1] = req.getParameter("moreTomatoes");
toppings[2] = req.getParameter("extraOnions");
// ...
for(int i = 0; i < toppings.length; i++) {
if(toppings[i] != null) {
toppingsPrice.add(new BigDecimal("0.99")); // <-- NPE is caused here.
toppingsPrice = toppingsPrice.setScale(2, BigDecimal.ROUND_HALF_EVEN);
}
}
Run Code Online (Sandbox Code Playgroud)
我NullPointerException在添加0.99到上面的代码中得到了一个toppingsPrice.我正在处理货币价值,所以我已经习惯了BigDecimal.我如何添加0.99c价格有什么问题吗?
您将设置toppingsPrice为null并且从不将其更改为指向某个内容:
BigDecimal toppingsPrice = null;
...
toppingsPrice.add(new BigDecimal("0.99"));
Run Code Online (Sandbox Code Playgroud)
你的意思是
BigDecimal toppingsPrice = new BigDecimal(0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14413 次 |
| 最近记录: |