JDK源码-Collection-isEmpty

来源:互联网 发布:线性时间选择c语言 编辑:程序博客网 时间:2024/06/03 13:15

Collection这个类是其实只是一个接口,而他的实现类是AbstractCollection这个类。

public abstract class AbstractCollection<E> implements Collection<E>。

源码中首先定义了两个方法:

    public abstract Iterator<E> iterator();
    public abstract int size();

继承他的所有子类都要实现这两个方法。
isEmpty这个方法源码很简单就是判断一下其属性size是不是等于0。

public boolean isEmpty() {       return size() == 0; }

List继承Collection缺没有重写他的isEmpty方法。 
注意:并没有判断null,所以list的的空判断一定是 list !=null && !list.isEmpty() 有不少人只写一个isEmpty() ,这样会出空指针的!!!