gpt4 book ai didi

java - 为什么 for(T t : this) work and what does it mean?

转载 作者:行者123 更新时间:2023-12-04 11:45:11 25 4
gpt4 key购买 nike

public abstract class MyAbstractSet<T> implements Iterable<T> { 
...
// some code
...
method addElement(T t){
for (T t : this) {
//why does this work????
}
}
}

我刚刚完成了一个关于集合和实现的作业 IterableIterator Java中的类。作业的全部目的是理解泛型和集合,我想我现在已经掌握了。

然而,在上面实现这个类时 MyAbstractSet<T> , 我输入了 for(T t: this)错误地,不知何故让我感到困惑,因为编译器在编译它时没有问题。

我试图弄清楚这意味着什么,但还不清楚。就像添加泛型类型 <T>让一个类成为某种列表,一个 for-each-loop 迭代它?

有人可以向我解释为什么这会起作用以及它的作用是什么,也许还可以发布一个链接,在 Java 文档中对此进行了解释?

最佳答案

简单地说,它是这些的组合:

  • 一个增强的 for 循环,我敢打赌你知道:
    List<String> listOfStrings = ...
    for (String string: listOfStrings)
  • T代表泛型类型。 List<T>是一个很好的例子。
  • this指类的实例,其中调用的方法。自 this工具Iterable<T> ,它可能用于增强循环。

  • 因此, for (T t : this)是通过 forEach(Consumer<? super T> action) 访问的所有元素的类的相同实例的增强循环.

    关于java - 为什么 for(T t : this) work and what does it mean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59440255/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com