小编erd*_*aca的帖子

Java 8 Spliterator 中使用的奇怪循环

有谁知道为什么java.util.Spliterator当循环体为空时,实现使用 do-while 而不是 while 循环?例如,其实现forEachRemaining是:

default void forEachRemaining(Consumer<? super T> action) {
    do { } while (tryAdvance(action));
}
Run Code Online (Sandbox Code Playgroud)

他们为什么要使用

do { } while (tryAdvance(action));
Run Code Online (Sandbox Code Playgroud)

代替

while(tryAdvance(action));
Run Code Online (Sandbox Code Playgroud)

有什么我不知道的优点吗?

java java-8 spliterator

5
推荐指数
1
解决办法
338
查看次数

标签 统计

java ×1

java-8 ×1

spliterator ×1