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() ,这样会出空指针的!!!