我遇到了泛型转换错误。如果需要,我可以提供完整的代码,但我觉得我缺少了一些非常简单的东西。我试图在我的类中使用一个方法将输入列表的所有元素添加到当前列表中,但我得到了E的转换错误。
有人能给我指出我需要做什么的正确方向吗?-我对编程并不陌生,但Java不是我的第一语言。
public class ArrayList<E> implements List<E> {
public static final int CAPACITY=16;
private E[] data;
private int size = 0;
public ArrayList() { this(CAPACITY); }
@SuppressWarnings({"unchecked"})
public ArrayList(int capacity) {
data = (E[]) new Object[capacity];
}
public int size() { return size; }
public boolean isEmpty() { return size == 0; }
public E get(int i) throws IndexOutOfBoundsException {
checkIndex(i, size);
return data[i];
}
public void add(int i, E e) throws IndexOutOfBoundsException {
checkIndex(i, size + 1);
if (size == data.length)
resize(2 * data.length);
for (int k=size-1; k >= i; k--)
data[k+1] = data[k];
data[i] = e;
size++;
}
public void addAll(ArrayList l){
int foundSize = l.size();
print("SIZE:"+size);
print("LENGTH:"+data.length);
for (int i=0; i < foundSize; i++){
this.add(size(), l.get(i));
}
}