首页 新闻 搜索 专区 学院

布尔类型空指针

0
[已解决问题] 解决于 2021-10-11 21:17
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代码块吗?

up-bear的主页 up-bear | 菜鸟二级 | 园豆:202
提问于:2021-10-10 23:17
< >
分享
最佳答案
0

flag是boolean的封装类型,如果需要判断,可以用if(flag == Boolean.TRUE)判断,我觉得报空指针的原因可能是你==后面是true,jdk自动把flag也转成boolean类型,调用flag.booleanValue的时候报的空指针错误

奖励园豆:5
编程小大白 | 小虾三级 |园豆:511 | 2021-10-11 08:48

哈哈,确实是这样。改成flag==Boolean.True没有问题了,已经记笔记了。jdk自动转换那个应该是自动拆装吧。

up-bear | 园豆:202 (菜鸟二级) | 2021-10-11 20:41
其他回答(1)
0

说实话 我不懂你为啥要这样写 很奇怪。。。。。

DreamCatt | 园豆:237 (菜鸟二级) | 2021-10-11 16:33

哈哈,有什么问题吗

支持(0) 反对(0) up-bear | 园豆:202 (菜鸟二级) | 2021-10-11 20:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册