isEmpty与null的区别

List<对象> list = new List<对象>;
//代表有内容
if(!list.isEmpty){
    ...
}
报错:java.lang.NullPointerException //空指针异常
if(list.isEmpty != null){
    ...
}
可以正常运行

isEmpt和 null 有什么区别呢?
isEmpty() 用于判断List内容是否为空,必须在 list 本身不是空的引用的情况下才行;
null 用于判断有没有这个集合对象;

一般情况下null和isEmpty会联合使用

//这里先判断有没有这个集合再判断这个集合里有没有对象.顺序不能反;
if(list != null && !list.isEmpty()){
    ...
}

看到别人举例很好借鉴一下,这里分享希望有所帮助理解:
举个形象的例子,我有一个空着的水杯(list),而你没有,那你是null,我的size 为0。你想装水就需要自己去买个水杯(new ArrayList();),但是我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出去啦(空指针异常)。

猜你喜欢

转载自blog.csdn.net/weixin_41478499/article/details/80210044
今日推荐