- 类型参数:
-
T
- 此PrimitiveIterator返回的元素类型。该类型必须是原始类型的包装类型,例如Integer
用于原始类型int
。 -
T_CONS
- 原始消费者的类型。该类型必须是Consumer
的原始专用类型,例如IntConsumer
用于Integer
。
- 所有超接口:
-
Iterator<T>
用于
Iterator
的原始专用类型的基本类型。为int
、long
和double
值提供了专门的子类型。
专门的子类型默认实现Iterator.next()
和Iterator.forEachRemaining(java.util.function.Consumer)
将原始值装箱为相应包装类的实例。这种装箱可能抵消使用原始专用类型时获得的任何优势。为避免装箱,应使用相应的基于原始类型的方法。例如,应优先使用PrimitiveIterator.OfInt.nextInt()
和PrimitiveIterator.OfInt.forEachRemaining(java.util.function.IntConsumer)
,而不是PrimitiveIterator.OfInt.next()
和PrimitiveIterator.OfInt.forEachRemaining(java.util.function.Consumer)
。
使用基于装箱的方法next()
和forEachRemaining()
迭代原始值,不会影响遇到这些值时的顺序,这些值被转换为装箱值。
- 实现注意:
-
如果布尔系统属性
org.openjdk.java.util.stream.tripwire
设置为true
,则在操作原始子类型专用化时发生原始值装箱时会报告诊断警告。 - 自Java版本:
- 1.8
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
专门用于double
值的迭代器。static interface
专门用于int
值的迭代器。static interface
专门用于long
值的迭代器。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
forEachRemaining
(T_CONS action) 对每个剩余元素执行给定操作,直到所有元素都已处理完毕或操作引发异常。Methods declared in interface java.util.Iterator
forEachRemaining, hasNext, next, remove
-
Method Details
-
forEachRemaining
对每个剩余元素执行给定操作,直到所有元素都已处理完毕或操作引发异常。如果指定了顺序,则按迭代顺序执行操作。由操作引发的异常将传递给调用者。如果操作以任何方式修改元素源(甚至通过调用
remove
方法或Iterator
子类型的其他变更器方法),则迭代器的行为是未指定的,除非覆盖类已指定并发修改策略。如果操作引发异常,则迭代器的后续行为是未指定的。
- 参数:
-
action
- 要对每个元素执行的操作 - 抛出:
-
NullPointerException
- 如果指定的操作为null
-