有人能解釋我爲什麼在這裏,我得到一個NullPointerException
:空指針異常雙
String s = request.getParameter("tbExample");
_tbExample = new Double (Double.valueOf(s).doubleValue());
有人能解釋我爲什麼在這裏,我得到一個NullPointerException
:空指針異常雙
String s = request.getParameter("tbExample");
_tbExample = new Double (Double.valueOf(s).doubleValue());
嘗試檢查s
爲空,然後繼續。
可能是tbExample
參數在您的請求中不存在。 因此返回null以指示該事實,並將其分配給s
。然後傳遞給Double.valueOf
,這是無效輸入。
嘗試這樣:
String s = request.getParameter("tbExample");
if(s == null)
{
// Handle the error.
// You could log something, throw exception, exit early, etc.
// Do whatever is appropriate for your application.
}
else
{
_tbExample = new Double (Double.valueOf(s).doubleValue());
}
我可以看到你爲什麼在這裏混淆。您正在採取String
,將其解析爲Double
,將其變爲double
並再次返回到Double
。一個更簡單的解決辦法就是做
_tbExample = s == null ? null : Double.valueOf(s);
這種處理情況s
是null
,拐彎String
成Double
這是給你一個簡單的測試程序。
Double _tbExample;
String s = null;
_tbExample = s == null ? null : Double.valueOf(s);
System.out.println("_tbExample="+_tbExample);
打印
_tbExample=null
,所以我能做些什麼來解決這個問題 – jack 2011-05-24 18:52:08
此外,還有很少的新雙(Double.valueOf(S).doubleValue())一個很好的理由;只需使用Double.valueOf(s) – 2011-05-24 18:55:57
「request」是什麼類型? 'getParameter()'有效的返回值是什麼? – jwd 2011-05-24 18:57:40