为什么java里面经常作List判断的时候,既要判断list不为null,又要判断size>0呢,岂不是多此一举吗?

List list=new ArrayList();
1.如果是以上这样的话,lis不为null 但是size=0
这样集合对于之后的判断是没用的, 甚至是报异常,如list.get(0.......n)这样取值判断,就会报异常。
2.如果先判断size 再判断null 如:
if(list.size>0){};
这种情况如果list 等于null 时那么list.size会报空指针异常
所以要双重判断这样写最好if(list !=null && list.size>0){};