Looking for java Answers? Try Ask4KnowledgeBase
Looking for java Keywords? Try Ask4Keywords

Java LanguageЛямбда-выражения


Вступление

Лямбда-выражения обеспечивают четкий и лаконичный способ реализации интерфейса одного метода с использованием выражения. Они позволяют вам уменьшить количество кода, который вы должны создавать и поддерживать. Хотя они похожи на анонимные классы, они сами не имеют информации о типе. Необходимо ввести вывод типа.

Ссылки на методы реализуют функциональные интерфейсы, используя существующие методы, а не выражения. Они также принадлежат к лямбда-семье.

Синтаксис

  • () -> {return expression; } // Zero-arity с телом функции, чтобы вернуть значение.
  • () -> выражение // Сокращение для указанного объявления; для выражений нет точки с запятой.
  • () -> {function-body} // Побочное действие в выражении лямбда для выполнения операций.
  • parameterName -> expression // Одномерное лямбда-выражение. В лямбда-выражениях с одним аргументом скобки могут быть удалены.
  • (Тип parameterName, Тип secondParameterName, ...) -> выражение // lambda, оценивающее выражение с параметрами, перечисленными слева
  • (parameterName, secondParameterName, ...) -> expression // Сокращение, которое удаляет типы параметров для имен параметров. Может использоваться только в контекстах, которые могут быть выведены компилятором, где размер списка заданных параметров соответствует одному (и только одному) размера ожидаемых функциональных интерфейсов.

Лямбда-выражения Связанные примеры