java如何将数组中的泛型对象设置为0/null?
我有一个数组,它在我的类声明中保存泛型类型的对象(稍后,我将添加<Integer>
类型的对象)。我想删除当前大小的索引(它是一个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];
}
还要注意,在我尝试将列表[currentSize]指定为返回值之后。在执行此操作时是否必须将其强制转换为<E>
(代码的最后一行)
我想更好的方法是,如何在location=currentSize处销毁对象
提前感谢您的帮助和支持
# 1 楼答案
这完全取决于您的列表的声明方式。 此外,由于您将其强制转换为类型参数E,因此必须在类声明中的某个位置使用此类型参数,如下所示:
<E>
以下内容对我来说很好:
唯一的障碍是Eclipse正在突出显示:
作为不安全访问的警告,但是由于类型擦除,没有干净的方法来创建任何类型为E的对象的实例