Передача лямбда-выражений в качестве аргументов в Java

Передача лямбда-выражений в качестве аргументов в Java

Как известно, лямбда-выражение может быть использовано в любом контексте, предоставляющем его целевой тип

Один из таких контекстов возни­кает при передаче лямбда-выражения в качестве аргумента.

В действительностипередача лямбда-выражений в качестве аргументов является весьма распростра­ненным примером их применения.

Более того, это весьма эффективное их при­менение, поскольку оно дает возможность передать исполняемый код методу в качестве его аргумента.

Благадоря этому значительно повышается выразительная сила Java. Читать

Блочные лямбда выражения в Java

Блочные лямбда выражения в Java

Тело лямбда-выражений обычно состоят из единственного выражения. Такая разновидность тел называется телом выражения, а лямбда-выра­жения с телом выражения иногда еще называют одиночными.

В теле выражения код, указываемый в правой части лямбда-оператора, должен состоять из одного выражения.

Несмотря на все удобство одиночных лямбда-выражений, иногда в них требуется вычислять не одно выражение.

Для подобных случаев в Java пред­усмотрена вторая разновидность лямбда-выражений, где код, указываемый в пра­вой части лямбда-оператора, может состоять из нескольких операторов. Такие лямбда-выражения называются блочными, а их тело телом блока.

Блочное лямбда-выражение расширяет те виды операций, которые могут вы­полняться в лямбда-выражении, поскольку оно допускает в своем теле наличие не­скольких операторов. Читать