public abstract class MyAbstractSet<T> implements Iterable<T> {
...
// some code
...
method addElement(T t){
for (T t : this) {
//why does this work????
}
}
}
我刚刚完成了一篇关于集合和在Java中实现Iterable和Iterator类的作业。整个作业的目的是理解泛型和集合,我觉得我现在有点掌握了。
然而,在实现上面的MyAbstractSet类时,我因为打错了字而输入了for(T t: this),这有些让我困惑,因为编译器没有任何问题。
我试图找出这意味着什么,但还没有清晰的答案。比如说,添加泛型类型会使一个类成为某种列表吗,从而使用for-each循环进行迭代?
能否有人解释一下为什么这样可以工作以及它的作用是什么,同时也可以发一篇在Java文档中解释这点的链接吗?
this
是一个可迭代对象。 - f1sh