Java 泛型,无法从 E 转换为 E
我的代码无法从 E 转换为 E。我可以对类型E进行强制转换,但在这个阶段似乎是多余的。我的数组已声明为 E 类型。
import java.util.Iterator;
public class DataTypeDemo<E>
{
private E[] data = (E[]) new Object [10];
public MyIterator newIterator()
{
return new MyIterator();
}
private class MyIterator<E> implements Iterator<E>
{
private int location;
public boolean hasNext()
{
return location < data.length;
}
public E next()
{
return (data[location++]); // error here
}
public void remove()
{
throw new UnsupportedOperationException();
}
}
}
编译器,抛出以下错误:
数据类型Demo.java:23:发现不兼容的类型:需要 E:E