布尔类型空指针
public static boolean isLogin(HttpServletRequest request, HttpServletResponse response){
Boolean flag = (Boolean) request.getSession().getAttribute("flag");
if(flag == true){
return true;
}else{
return false;
}
}
if(flag == true)这一语句为什么会导致空指针异常啊,如果flag=null,其结果不应该为false继而去执行else代码块吗?
回答
flag是boolean的封装类型,如果需要判断,可以用if(flag == Boolean.TRUE)判断,我觉得报空指针的原因可能是你==后面是true,jdk自动把flag也转成boolean类型,调用flag.booleanValue的时候报的空指针错误