我想用迭代器实现一个自定义列表,以便我自己更好地理解它,但是我遇到了泛型类型的问题,这是我第一次使用自己。这是我课堂的重要部分
public class MyList<T> implements Iterable<T>
{
// Unrelated code
@Override
public Iterator<T> iterator()
{
return new Iterator<T>()
{
private Node position = firstNode;
public boolean hasNext()
{
return position.getNext() != null;
}
public T next()
{
String current = "";
if (this.hasNext())
{
current = position.getData();
position = position.getNext();
}
return (T) current;
这里 Eclipse 说这是一个未经检查的演员表,所以我尝试将其更改为:
return (T) (current instanceof T?current:null);
但随后 Eclipse 给出了一个错误:“无法对类型参数 T 执行 instanceof 检查。请改用它的擦除对象,因为更多的泛型类型信息将在运行时被擦除”
如果不使用@SupressWarnings,我该怎么做才能消除警告?
}
public void remove()
{
throw new UnsupportedOperationException("Not supported yet.");
}
};
}
//unrelated code
}