我对通配符不太熟悉,正在遍历一个集合类型时出现了问题。我需要将此函数转换为适用于任何Collection类型,而不仅仅是List,以下是我的做法:
void sell(List<T> items) {
for (T e : items) {
stock.add(e);
}
}
changed to:
void sell(Collection<? super T> items) {
Iterator ir = items.iterator();
while (ir.hasNext()){
stock.add((T)ir.next());
}
}
然而,当我编译代码时,我收到了以下错误:
Note: Shop.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
我是否没有正确使用可迭代对象?欢迎任何帮助!
Collection
(甚至更一般的Iterable
)可以和foreach循环一起使用。 - newacct