我尝试了以下代码,没问题
PrimitiveIterator.OfInt iterator = IntStream.rangeClosed(1, 1000).iterator();
while (iterator.hasNext()) {
System.out.println(iterator.nextInt()); // not .next() !!
}
我需要迭代 int 数组。
您可以使用 java8
forEach
来执行此操作。
IntStream.rangeClosed(1, 1000).forEach(System.out::println);
或者如果您已经定义了 int 数组,则可以使用
Arrays.stream()
方法
import java.util.Arrays;
int [] myarr=new int[]{1,2,3,7,9};
Arrays.stream(myarr).forEach(System.out::println);
这里
Arrays.stream()
将以数组作为输入并返回其数据流。
这应该可以解决问题:
public static PrimitiveIterator.OfInt iterator(int[] xs) {
return Arrays.stream(xs).iterator();
}
适用于 Java 8+。