ImはJava 8の動作を読みます。セクション3.5.2で「ボイド互換性のルール」についての段落があります:ラムダ '特別な無効な互換性のルール' - 文の表現
ラムダは、その本体としての文の表現を持っている場合、それはvoidを返す関数記述子と 互換性のある(パラメータ リストを提供互換性もあります)。たとえば、次の行の両方は、消費者の文脈で期待どおりに一覧の方法の追加がブール値ではなく voidを返すにもかかわらず、法的 ある(T - >ボイド):
// Predicate has a boolean return
Predicate<String> p = s -> list.add(s);
// Consumer has a void return
Consumer<String> b = s -> list.add(s);
どうでしょうあなたは一般的に '文表現'を記述しますか?私はそれが声明か表現かと思った。また、このvoid互換性の規則は私には100%明確ではありません。他の例も考えられますか?
詳細を教えてください – Deepak
@Deepak:どの部分が分かりませんか? – Holger