java - 当类包含嵌套静态类时使用 "this"

标签 java static linked-list nested-class

我正在查看以下代码,它是使用静态嵌套类的链表实现:

http://www.cs.cmu.edu/~adamchik/15-121/lectures/Linked%20Lists/code/LinkedList.java

我无法理解的一行是:

 public boolean contains(AnyType x)
   {
      **for(AnyType tmp : this)**
         if(tmp.equals(x)) return true;

      return false;
   }

这里的“this”如何允许我们遍历存储在每个节点内的数据?

最佳答案

因为本例中的 this 是一个 Iterable(更具体地说,是一个 LinkedList)。

for-each Java 5 中引入的循环是用于调用 IterableIterator 的语法糖。在您的示例中,代码相当于

for (Iterator<AnyType> i = this.iterator(); i.hasNext(); ) {
    if (i.next().equals(x)) return true;
}

关于java - 当类包含嵌套静态类时使用 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29784758/

相关文章:

c - 为什么这个非静态变量通过函数调用保留其值?

java - 递归插入到双向链表的末尾

java - 链接列表示例中的 "this"指的是什么?

java - 如何使辅助 anchor 板扩展其尺寸以适合主 anchor 板?

Java - 为什么我的静态变量被设置为空?

java - 在 Android App 中打包 1 个以上的 widget

c - C中静态函数声明的区别

java - 我的代码有错误吗? (链表循环)

java - 按钮单击方法如何找出在 ListView 中选择了哪个项目?

java - 如何使用Spring显示本 map 片(保存在C盘)?