public ArrayList(Collection<? extends E> c) {
elementData = c.toArray();
size = elementData.length;
if (elementData.getClass() != Object[].class)
elementData = Arrays.copyOf(elementData, size, Object[].class);
}
I did not understand that "if (elementData.getClass() != Object[].class)" statement and why it is required. This is the implementation for ArrayList constructor. Can someone please explain. Thanks!