Анализ лямбда-выражений в Java 8 | август

Java задняя часть

предисловие

   Лямбда-выражения, также известные как замыкания, являются наиболее важной новой функцией, лежащей в основе выпуска Java 8. Лямбда-выражение состоит из трех частей: списка аргументов, стрелки (->) и выражения или блока операторов. Лямбда-выражения позволяют передавать функции в метод в качестве параметров (функции передаются в методы в качестве параметров). Использование лямбда-выражений может сделать код более лаконичным и компактным.

Что такое лямбда-выражение

  Лямбда-выражение (лямбда-выражение) — это анонимная функция. Лямбда-выражение названо в честь лямбда-исчисления в математике, что напрямую соответствует лямбда-абстракции. Это анонимная функция, то есть функция без имени функции. Лямбда-выражения могут представлять замыкания (обратите внимание, что это отличается от традиционного математического смысла).

Синтаксис лямбда-выражения

Справочник по лямбда-эквивалентному методу

(Apple a) -> a.getWeight() Apple::getWeight

() -> Thread.currentThread().dumpStack() Thread.currentThread()::dumpStack

(str, i) -> str.substring(i) String::substring

(String s) -> System.out.println(s) System.out::println

Функции лямбда-выражения

  • Необязательное объявление типа: нет необходимости объявлять тип параметра, компилятор может единообразно идентифицировать значение параметра.
  • Использование лямбда-выражений может сделать код более лаконичным и компактным.
  • Необязательные круглые скобки параметров: Один параметр не должен определять круглые скобки, но несколько параметров должны определять круглые скобки.
  • Необязательные фигурные скобки: если тело содержит оператор, фигурные скобки не требуются.
  • Необязательное ключевое слово return: если тело имеет только одно возвращаемое значение выражения, компилятор автоматически вернет значение, а фигурные скобки должны указать, что выражение возвращает значение.

Рекомендации по лямбда-выражению

  • Лямбда-выражения в основном используются для определения интерфейсов типа метода, которые выполняются встроенно, например, простой интерфейс метода. В приведенном выше примере мы использовали различные типы лямбда-выражений для определения методов интерфейса MathOperation. Затем мы определяем выполнение sayMessage.
  • Лямбда-выражения избавляют от необходимости использовать анонимные методы и предоставляют Java простые, но мощные возможности функционального программирования.

Пример лямбда-выражения:

Без параметров, возвращаемое значение - информация

() -> info

Получает параметр (числовой тип) и возвращает значение, умноженное на 5.

x -> 5 * x 

Принимает 2 аргумента (числа) и возвращает их разницу

(x, y) -> x  y 

Получить 2 целых числа int и вернуть их сумму

(int x, int y) -> x + y 

Принимает строковый объект и выводит его на консоль, не возвращает значения (похоже, возвращает void)

 (String s) -> System.out.print(s)

   Конечно, вышеизложенное — это всего лишь применение простых лямбда-выражений. Существуют также составные лямбда-выражения, в которых используется несколько простых лямбда-выражений. Например: лямбда-выражения, объединенные в различных формах, таких как функциональная композиция, предикатная композиция и компараторная композиция.

Суммировать

  В этой статье кратко представлена ​​новая функция Java 8 — лямбда-выражения. Вообще говоря, это относительно легко и можно быстро начать. Его можно использовать для большей практики в проекте, что может сделать код более лаконичным и компактным. Все еще стоит учиться.

   Хорошо, спасибо за прочтение, надеюсь, вам понравилось, если вам было полезно, ставьте лайк и подписывайтесь. Если есть какие-либо несоответствия, добро пожаловать в комментарии. Увидимся в следующий раз.