A.Dev:
Files.lines().forEach()
方法は許可されていませんbreak
。チャンクでのJava 8の行を読み、必要なときに破るための最適な方法は何ですか?
アップデート1:例外の例。
public class Main {
public static void main(String[] args) {
try(IntStream s = IntStream.range(0, 5);){
s.forEach(i -> validate(i));
}catch(Exception ex){
System.out.println("Hello World!");
}
}
static void validate(int s){
if(s > 1){
//throw new Exception(); ?
}
System.out.println(s);
} }
デッドプール :
これは、java-9を使用して簡単ですtakeWhile
、だから、条件(S <1)が、それはストリームの残りの部分をドロップします失敗したときに、ここで
要素が述語と一致しないことに遭遇したとき、ストリームの残りは破棄されます。
s.takeWhile(s -> s < 1).forEach(System.out::println);
Javaの-8を用いて、実施例を試してみましたが、これはなく、すべての効率的としてtakeWhile
組み合わせることで、peek
及びfindFirst()
ではなく、これよりも意味をなさないダブルチェック条件を持っている必要があります私は、標準のwhileループを好むだろう
IntStream.range(0, 5).peek(i->{
if(i<3) {
System.out.println(i);
}
}).filter(j->j>=3).findFirst();
これまでの述語で検証時にのぞくと、ストリーム内のアクションが解除されますか findFirst