我有如下代码。
public class DefaultIterator<E> implements Iterator<E> {
private E[] array;
private int i = 0;
public DefaultIterator(E[] array) {
this.array = array;
}
@Override
public boolean hasNext() {
return false;
}
@Override
public E next() {
return array[i++];
}
@Override
public void remove() {
}
}
// here is my execution.
public Iterator<String> createNewIterator(Iterator<String>... generalIterators) {
return new DefaultIterator<Iterator<String>[]>(generalIterators);
}
我在执行代码处得到编译错误。有人能解释为什么它会失败,以及如何修复它吗?
谢谢。
2条答案
按热度按时间vfh0ocws1#
您的返回类型与预期的不同!
DefaultIterator<Iterator<String>[]>
与不兼容Iterator
Choose DefaultIterator<Iterator<String>[]>
作为您的返回类型,这应该可以解决它。zfycwa2u2#
所以抱怨的是没有一个泛型类型在字段声明、构造函数声明和方法声明之间匹配。
你想要: