Java 迭代器混淆需要澄清

Java 迭代器混淆需要澄清,java,iterator,Java,Iterator,只需要快速澄清一下: 在使用迭代器类时,我可以创建一个迭代器对象,如下所示: 选项1:迭代器[迭代器对象]=.Iterator 还是我应该坚持 选项2:迭代器[迭代器对象]=.Iterator 你能简单解释一下为什么建议的答案是正确的吗?使用选项2。作为语法正确的Java,它将使您的程序能够被编译。您看过吗 迭代器迭代器 这一切都取决于您想要创建ArrayList/List或任何其他string/object集合的具体内容。 你想在ArrayList上写一篇文章,然后你就开始写了 ArrayL

只需要快速澄清一下:

在使用迭代器类时,我可以创建一个迭代器对象,如下所示:

选项1:迭代器[迭代器对象]=.Iterator

还是我应该坚持

选项2:迭代器[迭代器对象]=.Iterator


你能简单解释一下为什么建议的答案是正确的吗?

使用选项2。作为语法正确的Java,它将使您的程序能够被编译。

您看过吗

迭代器迭代器


这一切都取决于您想要创建ArrayList/List或任何其他string/object集合的具体内容。 你想在ArrayList上写一篇文章,然后你就开始写了 ArrayList al=您的数据; Itrator itr=铝Itrator; 您还可以查看如何使用itrators以获取帮助

迭代器iter=someObject.Iterator是正确的

但是,如果某个对象是Iterable的,例如java.util.List,而实际上只需对其进行迭代,则使用“for each”循环:

for(T thing : someObject) { /* do stuff with 'thing' */ }

第一个选项不是合法语法。第一个选项是非法语法。这只是一个惯例:决定是这样的。可能是选项1,但我认为这会给编译器更多的工作。还有,您在第一个选项中看到了什么好处?您能给出一些具体的示例吗?正确的语法是迭代器itr=obj.Iterator;,非迭代器itr=obj.Iterator;。