有趣的list-CSDN博客

12 阅读1分钟

有趣的list


今天在写项目时发现一个有趣的东西,list==null,list.isEmpty(),还有list.size()==0,返回的结果是不一样的。
我们在判断一个list集合是否为空,惯性思维是判断list是否等于null即可,
但是在Java中,list集合为空还是为null,是两码事。

新建一个list对象,默认值是空,而非null;

 public static void main(String[] args) {
       List<Integer> list = new ArrayList<>();
        System.out.println(list);
    }
//打印的结果
[]

那么,我们什么时候用null,什么时候用isEmpty()或list.size()呢?

isEmpty() 或者(list.size() == 0)用于判断List内容是否为空,即表里一个元素也没有,
但是使用isEmpty()和size()的前提是,list是一个空集合,而不是null,所以为了避免异常,
建议在使用或赋值list集合之前,做一次空集合创建处理,进行内存空间分配,即:

List list2 = new ArrayList()

list.isEmpty()和list.size()==0 没有区别, isEmpty()判断有没有元素,而size()返回有几个元素,
如果判断一个集合有无元素,建议用isEmpty()方法. 这清晰,简明

null判断
list等于null,可理解为没有对list集合分配内存空间,实际上压根就不存在。