結果に対してブール値を返そうとしています。Javaストリームマップを使用してbooleanを返す方法
public boolean status(List<String> myArray) {
boolean statusOk = false;
myArray.stream().forEach(item -> {
helpFunction(item).map (x -> {
statusOk = x.status(); // x.status() returns a boolean
if (x.status()) {
return true;
}
return false;
});
});
}
ラムダ式で使用される不平な変数は、最終的にまたは効果的に最終的なものでなければなりません。 statusOkを割り当てると、ループ内に割り当てることができませんでした。 stream()とmap()を使用してboolean変数を返すにはどうすればよいですか?
ここラムダのを使用してのポイントは何ですか?なぜあなたの代わりに 'map()'を使うのでしょうか? 'anyMatch()'? –
このような状況でlambdaを使用する方法については、この質問をご覧ください:https://stackoverflow.com/questions/32268784/java8-effectively-final-compile-time-error-on-ninal-final-variable可能な重複。 – tkruse
そのためには、内側のラムダを 'x :: status'や適切な記法が何であれ作るのが間違っていますか? –