2
public class RandomizedQueue<Item> implements Iterable<Item> {
private Item[] s;
private int N;
public Iterator<Item> iterator() {
return new RQIterator<Item>();
}
private class RQIterator<Item> implements Iterator<Item> {
private Item[] copy;
private int newItems;
public RQIterator() {
copy = (Item[]) new Object[N];
for (int i = 0, k = 0; i < s.length; i++) {
if (s[i] != null)
copy[k++] = s[i];
}
newItems = N;
}
//hasNext(), next(), remove() methods..
}
}
上線copy[k++] = s[i]
,我得到的錯誤:類型不匹配:不能從項目轉換項目,但我無法弄清楚什麼是錯的。有人可以告訴嗎?謝謝!類型不匹配:不能從項目轉換爲項目
奧克,有道理。爲什麼靜態嵌套類應該有不同的表現? – ion20
在類上聲明的類型參數只在類的非靜態成員的作用域中。請注意,可以將'Item'聲明爲'static'嵌套類的泛型類型參數,但是您將無法訪問'RandomizedQueue'中的非'static'實例變量。 – rgettman