相关疑难解决方法(0)

为什么Collection.toArray(T [])不采用E []

toArray方法(可以接在执行java.util.ArrayList)如下:

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;
    }    
}
Run Code Online (Sandbox Code Playgroud)

我想知道我们可以使用<E>而不是<T>在这种情况下吗?喜欢

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;
}    
Run Code Online (Sandbox Code Playgroud)

由于ArrayList类iteself已经是通用的<E>,所以我们可以使用它而不是新的泛型类型<T>吗?

java generics arraylist

11
推荐指数
2
解决办法
733
查看次数

标签 统计

arraylist ×1

generics ×1

java ×1