【发布时间】:2015-02-19 12:36:40
【问题描述】:
我有一个数组,在我的类声明中包含泛型类型的对象(稍后,我将添加<Integer> 类型对象)。我想删除 currentSize 处的索引(这是一个 int)。 Eclipse 抱怨说“类型不匹配:无法将 int 转换为 E”关于该行
list[currentSize] = null;
这是我的代码:
...
private int currentSize, maxCapacity;
...
public ArrayABC(){
currentSize = 0;
maxCapacity = 20;
list = (E[]) new Object[maxCapacity];
}
...
public E removeLast(){
if(currentSize == 0)
return null;
list[currentSize] = null;
currentSize--;
return list[currentSize];
}
还要注意,在我尝试将 list[currentSize] 分配为返回值之后。这样做时我是否必须将其转换为<E>(代码的最后一行)?
我想一个更好的说法是,如何在 location = currentSize 处销毁对象?
提前感谢您的帮助和支持!
【问题讨论】:
-
为什么不使用带有泛型的列表而不是数组?
-
不幸的是,我必须这样做
-
你能发布一个可编译的例子吗? IE。包括周围的类和使用的属性声明。