Мой код не может преобразовать из E в E. Я могу сделать приведение к типу E, но на данном этапе он кажется излишним. Мой массив уже объявлен как E-type.
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();
}
}
}
Компилятор, выдает эту ошибку:
DataTypeDemo.java:23: несовместимые типы найдено: E требуется: E