我正在尝试为 ArrayList .hasNext 写一个条件。为啥我不能写如下? [复制]

Posted

技术标签:

【中文标题】我正在尝试为 ArrayList .hasNext 写一个条件。为啥我不能写如下? [复制]【英文标题】:I'm trying to write a condition for ArrayList .hasNext.. Why can't I write as the following? [duplicate]我正在尝试为 ArrayList .hasNext 写一个条件。为什么我不能写如下? [复制] 【发布时间】:2016-10-19 20:20:21 【问题描述】:

列表声明:

private List<SharedData> pairList = new ArrayList<>();

在代码中的某处我试图在这个列表上运行一个 for 循环:

for(pairList.iterator().hasNext()) 
        do something;
    

但是,我收到一个错误:

 Multiple markers at this line

    - Syntax error on tokens, EnhancedForStatementHeaderInit expected 
     instead
    - Syntax error, insert "; ; ) Statement" to complete ForStatement"

这对我来说不是很清楚。为什么我需要添加“;;”?我也不确定它是否会正确运行。

【问题讨论】:

【参考方案1】:

你应该使用 while 循环而不是 for 循环,因为 hasNext() 返回一个布尔值。

【讨论】:

【参考方案2】:

您正在寻找 while 循环 - 而不是 for。

【讨论】:

以上是关于我正在尝试为 ArrayList .hasNext 写一个条件。为啥我不能写如下? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

在 Java 中使用 hasNext 创建可变长度的自动换行

Java - ListIterator .hasNext() 的无限循环

迭代器和 hasNext() 强大的实现

什么是无限迭代器?为什么要使用它?

使用ArrayList集合,对其添加100个不同的元素:................

在 JSP 中从 Object ArrayList 转换为 Object Array