list!=null list.size()==0 list.isEmpty的理解
三者的区别:
-
list != null 有没有瓶子(有瓶子)
用来判断list这个对象有没有被实例化
list如果为null,意味着list压根没有地址,在堆内存压根不存在。
此时list调用任何方法都会出现抛出空指针异常。
-
list.size()>0 瓶子里有没有水(前提是瓶子已经存在,若直接判断水,则会抛出NullPointerException异常)
这个是用来判断list里是不是有内容,在执行list.size()>0之前要确保list已经被实例化。list.size()>0这个方法会先计算一下list里元素的个数,然后再和0进行比较
-
list.isEmpty() 瓶子里有没有水
判断list里是否有元素,list不需要计算元素个数,直接看一下是否为空,所以和list.size()相比,进行非空判断时,这个效率更高
判断list不为空
(先判断有没有瓶子,然后判断瓶子里面有没有水)
一般使用用list != null && list.size > 0
或者list != null && lisy.size != 0
(这个效率更高)。