I've opened java.util.ArrayList source code, and I can't understand one thing: why elementData[] array is of type Object if ArrayList is parametrized?
public class ArrayList<E> extends ... {
.........
private transient Object[] elementData;
.........
public boolean add(E e) {/*More code*/}
}
Question: Why don't define elementData as:
private transient E[] elementData
*what advantages and disadvantages?