Dlaczego Collection.toArray (T []) nie przyjmuje E []

ThetoArray metoda (wybierzmy implementację wjava.util.ArrayList) jest następujące:

class ArrayList<E> ....{
    public <T> T[] toArray(T[] a){
        if(a.length < size)
            return (T[]) Arrays.copyof(elementData, size, a.getClass());
        System.arraycopy(elementData, 0, a, 0, size);
        if(a.length > size)
            a[size] = null;
        return a;
    }    
}

Zastanawiam się, czy możemy użyć<E> zamiast<T> w tym przypadku ? lubić

public E[] toArray(E[] a){
      if(a.length < size)
             return (E[]) Arrays.copyof(elementData, size, a.getClass());
      System.arraycopy(elementData, 0, a, 0, size);
      if(a.length > size)
            a[size] = null;
      return a;
}    

Ponieważ klasa ArrayList sama w sobie jest już ogólna<E>, więc czy możemy użyć tego zamiast nowego typu generycznego<T> ?

questionAnswers(2)

yourAnswerToTheQuestion