gpt4 book ai didi

java - for (ListIterator it = listIterator(); it.hasNext(); ) VS for (ListIterator it = list.listIterator(); it.hasNext(); )

转载 作者:行者123 更新时间:2023-12-01 10:14:45 26 4
gpt4 key购买 nike

有人可以告诉我,如果 (ListIterator<E> it = listIterator(); it.hasNext(); )部分代码应写为 for (ListIterator<E> it = list.listIterator(); it.hasNext(); )哪里list是对 ArrayList 或 LinkedList 类实例的引用?这两种形式都可以接受并且正确吗?我应该在哪里使用其中一种而不是另一种?

public int indexOf(E e) {
for (ListIterator<E> it = listIterator(); it.hasNext(); )
if (e == null ? it.next() == null : e.equals(it.next()))
return it.previousIndex();
// Element not found
return -1;
}

最佳答案

for (ListIterator<E> it = listIterator(); it.hasNext(); )

此代码调用我自己的 listIterator() (this) 并使用其返回值。编写此代码的类有更高的机会实现List

for (ListIterator<E> it = list.listIterator(); it.hasNext(); )

此代码调用存储在 list 中的实例引用的 listIterator() 并使用其返回值。这段代码可能会出现在编写例程的任何地方。

两者都可以接受,但是否正确应该取决于您想要做什么。

关于java - for (ListIterator<E> it = listIterator(); it.hasNext(); ) VS for (ListIterator<E> it = list.listIterator(); it.hasNext(); ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35965797/

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