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