搜索

首页  >  问答  >  正文

如图,java 在判断的时候,既然不等于null,为什么还要判断size大于0?不等于null肯定大于0呀?

if (passengerList!=null&&passengerList.size()>0) {

} else {

}

黄舟黄舟2805 天前1475

全部回复(11)我来回复

  • 天蓬老师

    天蓬老师2017-04-18 10:15:53

    List list = new ArrayList();

    list不是null,但是list.size()确实等于0

    回复
    0
  • 阿神

    阿神2017-04-18 10:15:53

    举个栗子
    list==null表示你没杯子
    size==0表示你有杯子,但是杯子里没水
    你要喝水当然要有杯子,杯子里面有水
    所以要双重判断

    回复
    0
  • 迷茫

    迷茫2017-04-18 10:15:53

    请尝试回答如下问题:

    不等于null凭啥不能等于零?

    null和对象有什么区别?

    null和空列表有什么区别?

    为人诟病的nullpointer exception是怎么产生的?

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:15:53

    首先判断对象是不是空,对象不为空还要列表的size大于0,这个条件才成立。如果说你的对象=null,那么你去取size,肯定是空指针呀。

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:15:53

    plist != null 过滤这个:List plist = null;
    plist.size() > 0 过滤这个:List plist = new ArrayList();

    回复
    0
  • PHP中文网

    PHP中文网2017-04-18 10:15:53

    list==null表示是对象没有实例化,list.size()>0表示list对象不能只包含一条数据,null并不包含size()就等于0,这是两个概念

    回复
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:15:53

    一个表示车没有建出来,一个表示有车但是没有装货

    回复
    0
  • ringa_lee

    ringa_lee2017-04-18 10:15:53

    passengerList.size()>0
    

    这种写法其实不够好,推荐的写法是这样:

     !passengerList.isEmpty()

    回复
    0
  • ringa_lee

    ringa_lee2017-04-18 10:15:53

    有哪个对象但是没有数据

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:15:53

    雷雷

    回复
    0
  • 取消回复