给定以下代码片段:
int[] arr = {1, 2, 3};
for (int i : arr)
System.out.println(i);
我有以下问题:
- 上述 for-each 循环是如何工作的?
- 如何在 Java 中获取数组的迭代器?
- 是否将数组转换为列表以获取迭代器?
最佳答案
如果您想要 Iterator
在数组上,您可以使用其中一种直接实现,而不是将数组包装在 List
中。 .例如:
Apache Commons Collections ArrayIterator
或者,这个,如果你想使用泛型:
com.Ostermiller.util.ArrayIterator
请注意,如果您想拥有 Iterator
对于原始类型,您不能,因为原始类型不能是泛型参数。例如,如果您想要 Iterator<int>
,您必须使用 Iterator<Integer>
相反,如果有 int[]
支持,这将导致大量的自动装箱和取消装箱。 .
关于java - 增强的 for 语句如何用于数组,以及如何获取数组的迭代器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3912765/