java.util.Spliterator
実装でwhileループではなくwhileループを使用する理由を知っていますか?例えば、forEachRemaining
の実装は次のとおりです。Spliterator Javaで使用される奇妙なループ8
default void forEachRemaining(Consumer<? super T> action) {
do { } while (tryAdvance(action));
}
は、なぜ彼らは
do { } while (tryAdvance(action));
代わりの
while(tryAdvance(action));
を使うのでしょうか?
わからないことがありますか?
したがって、終了条件 'tryAdvance(action) 'がtrueを返す限り、両方のループが実行されます。 –
これは確かに重複していますが、私は他の質問の受け入れられた答えが本当に質問に答えるものではないと思う(代わりに、新しいものを上げる...) – Marco13
選択は純粋にスタイルで行われました。他の2つの方法( 'while(c())'と 'while(c()){}')は、コードを読むときに、私たちが定住した形は意図を最もはっきりと表現しているように見えました。あなたの意見は異なる場合があります。 –