簡體   English   中英

帶迭代器的Java通用數組

[英]java generic array with iterator

我有如下代碼。

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);
}

您的退貨類型比預期的還多! DefaultIterator<Iterator<String>[]>Iterator<String>不兼容。 Choose DefaultIterator<Iterator<String>[]>作為返回類型,這應該可以解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM