Maj*_*ima 3 java generics iteration for-loop java-8
public abstract class MyAbstractSet<T> implements Iterable<T> {
...
// some code
...
method addElement(T t){
for (T t : this) {
//why does this work????
}
}
}
Run Code Online (Sandbox Code Playgroud)
我刚刚完成了关于Java 中的集合和实现Iterable
以及Iterator
类的作业。作业的全部目的是理解泛型和集合,我想我现在已经掌握了。
然而,在上面实现这个类时MyAbstractSet<T>
,我打错for(T t: this)
了,这让我有点困惑,因为编译器在编译它时没有问题。
我试图弄清楚这意味着什么,但还不清楚。就像添加泛型类型<T>
使类成为某种列表一样,for-each-loop 对其进行迭代?
有人可以向我解释为什么这会起作用以及它的作用是什么,也许还可以发布一个链接,在 Java 文档中对此进行了解释?
简单地说,它是这些的组合:
一个增强的 for 循环,我打赌你知道它:
List<String> listOfStrings = ...
for (String string: listOfStrings)
Run Code Online (Sandbox Code Playgroud)T
代表泛型类型。List<T>
是一个很好的例子。
this
指类的实例,其中调用的方法。由于this
implements Iterable<T>
,它可能用于增强循环。因此,for (T t : this)
是通过 访问的所有元素的类的相同实例的增强循环forEach(Consumer<? super T> action)
。
归档时间: |
|
查看次数: |
146 次 |
最近记录: |