zoukankan      html  css  js  c++  java
  • List非空判断,空指针异常

    List非空判断,空指针异常

    list!=null && list.size()>0 
    

    原因:
    在此特别说明一下list!=null和list.size()>0的区别:
    1.list==null,意味着list压根没有地址,在堆内就不存在。
    2.list.size()=0 意思堆内有list但是还没来得及放元素,其长度随着元素数量变化而变化,暂时为零。
    3.list如果为null的话,说明没有进行初始化。这是list调用任何的方法都会抛出空异常。list.size()==0说明list已经被new过,但是里面没有值。
    4.区别:
    ①有没有瓶子 list != null
    ②瓶子里有没有水 list.isEmpty()
    判断的时候一定要注意先后顺序
    如果没有瓶子都没有,直接判断有没有水,是会报nullException的
    ③另外:
    list.add(null)
    会造成list.isEmpty() 为 false, list.size() 为1
    所以代码里要避免list.add(null)的陷阱
    ④比较形象一个比喻:
    举个形象的例子,我有一个空着的水杯(list),而你没有,那你是null,我的size为0。你想装水需要去买个水杯(new ArrayList();),我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出去啦(空指针异常)。所以用做判断的时候经常连用 list!=null && list.size()>0 。

    作者:饼条豪侠
    来源:CSDN
    原文:https://blog.csdn.net/qq_39478853/article/details/78343590
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    linux系统用户登陆时脚本执行顺序
    stm32 win7 64位虚拟串口驱动安装失败解决办法
    python全栈day6
    python全栈day5
    江湖救急(处理域名未备案网站问题)
    python全栈day4
    python全栈day3
    python全栈day2
    python全栈day1
    PHP 跨域之header
  • 原文地址:https://www.cnblogs.com/szls-666/p/12494205.html
Copyright © 2011-2022 走看看