在列表中使用 Iterator 接口进行字符串迭代

问题描述 投票:0回答:1

我正在通过教程学习 JAVA 中的集合。在 List 主题中,我看到一行,我们使用迭代器在 for 循环中使用一行来迭代 String 类型的列表。请参考下面的代码并帮助我理解这个概念,

` 列出课程 = Arrays.asList("Java","Python","C");

for(迭代器 iterator = course.iterator();iterator.hasNext();){ String course = (String) iterator.hasNext(); System.out.println(当然);` } 在上面的代码中,有人可以解释一下这一行吗 **字符串课程 = (字符串) iterator.hasNext(); ** 为什么他们要在括号()中给出字符串?

而且, for(迭代器 iterator = course.iterator();iterator.hasNext();) 为什么 **iterator.hasNext(); 之后要加分号** 在 for 循环中

感谢您的提前回复!

java arraylist collections iterator string-iteration
1个回答
0
投票
  1. (字符串)称为 “强制转换”。 它从一种类型(对象)转换为另一种类型(字符串)。在泛型和参数化类型之前它更有必要(

    Iterator<String>
    )。在泛型出现之前,您只能从集合中获取 Object 类型(所有类型的根)的元素。如果您想在元素上调用 String 方法,则必须将其转换为 String。如果这个东西实际上是一个整数,那么这会在运行时失败。

  2. 这些分号是 for 循环语法的必需部分。通常是在迭代结束时发生一些事情,通常会增加索引变量。由于您没有使用索引变量,因此在您的情况下这是一个 noop(无操作,不执行任何操作)。

© www.soinside.com 2019 - 2024. All rights reserved.