首頁  >  問答  >  主體

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

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

} else {

}

黄舟黄舟2763 天前1425

全部回覆(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
  • 取消回覆