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的时候报的空指针错误
哈哈,确实是这样。改成flag==Boolean.True没有问题了,已经记笔记了。jdk自动转换那个应该是自动拆装吧。
说实话 我不懂你为啥要这样写 很奇怪。。。。。
哈哈,有什么问题吗