一尘不染

增强的for语句如何用于数组,以及如何获取数组的迭代器?

java

给出以下代码片段:

int[] arr = {1, 2, 3};
for (int i : arr)
    System.out.println(i);

我有以下问题:

  1. 上面的for-each循环如何工作?
  2. 如何在Java中获得数组的迭代器?
  3. 数组是否转换为列表以获取迭代器?

阅读 159

收藏
2020-09-08

共1个答案

一尘不染

如果您要Iterator遍历数组,则可以使用其中的直接实现之一,而不用将数组包装在中List。例如:

Apache Commons集合 ArrayIterator

或者,如果您想使用泛型,请执行以下操作:

com.Ostermiller.util.ArrayIterator

请注意,如果您想拥有一个Iterator过度的原始类型,则不能,因为原始类型不能是泛型参数。例如,如果要使用Iterator<int>,则必须Iterator<Integer>改用,如果后面有,则会导致大量自动装箱和-
unboxing int[]

2020-09-08