1子类和父类实现同样的接口,这样做有什么意义吗?
举例:Vector和AbstractList的类签名
public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>
AbstractList是Vector的父类,该类实现了List接口,而Vector也实现了List接口。
回答:没什么特殊意义 ,可能是为了代码的可读性。(网上讨论的答案,总感觉怪怪的)
2 ArrayList的最大长度MAX_ARRAY_SIZE为什么是Integer.MAX_VALUE - 8?
存储Headerwords,避免一些机器内存溢出,减少出错几率,所以少分配。
最大还是能支持到Integer.MAX_VALUE。