让我们说我有功能
void sell(Collection<? extends T> items) {
for (? e : items) {
stock.add(e);
}
}
Run Code Online (Sandbox Code Playgroud)
你可以看到,我想通过项目迭代,但我不能使用符号? e,因为它吐出错误"表达的非法启动."
Joh*_*ica 10
集合中的每个项目都是一个T或一个子类T,因此您可以使用T.你不知道物品的确切类型,但这无关紧要; 你知道他们共同的基类.
for (T e: items) {
stock.add(e);
}
Run Code Online (Sandbox Code Playgroud)