我有如下代码。
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);
}
我在执行代码时遇到编译错误。有人可以解释为什么它失败以及如何修复它吗?
谢谢。
最佳答案
因此,提示是字段声明、构造函数声明和方法声明之间没有一个泛型类型匹配。
你想要:
public Iterator<String> createNewIterator(String... generalIterators) {
return new DefaultIterator<String>(generalIterators);
}
关于java 带有迭代器的泛型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16952389/