[英]Null Pointer Access Warning
我編寫的代碼的一部分應該看起來像這樣。
String name = request.getParameter("Name");
if(name!=null && !name.isEmpty())
{
DO SOMETHING
}
但最終使用“ ||” 運算符,而不是“ &&”運算符。 我在接到警告
名稱 .isEmpty()
說
空指針訪問:變量名稱只能在此位置為空。
有人可以解釋一下為什么會這樣嗎?
順便說一句,“ request ”是我從上一類獲得的HttpServletRequest對象。
name != null || !name.isEmpty()
NullPointerException
。 當您這樣做時:
if(name!=null || !name.isEmpty())
然后,如果到達第二部分,則由於短路評估 , name
為null
。
請記住, false && anything
都是false
和true || anything
true || anything
都是true
。
你可以做:
String name = request.getParameter("Name") != null ? request.getParameter("Name") : "";
確保name
不為null
。 接着
if (name.isEmpty()) { ... }
if(name!=null ){
if(!name.isEmpty()){
//body
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.