什么是Lambda表达式?
Lambda表达式是Java8新特性之一,Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。
正所谓泡妞就看脸,问题抓重点。
函数:是定义在类中的一段独立的代码块,用来实现某个功能。Java中,函数又被称为方法。
总结:无名方法可传递的代码。
Lambda表达式的条件
什么样的代码才能被简化成Lambda表达式?
被声明为函数式接口的才能被简化成Lambda表达式。
函数式接口 :只有一个抽象方法的接口。
函数式接口可以使用@FunctionalInterface进行注解。
函数式接口就可以通过 Lambda 表达式来创建该接口的对象。(若Lambda 表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。
Lambda表达式的语法
lambda 表达式的语法格式如下:
(parameters) -> expression 或 (parameters) ->{ statements; }
以下是lambda表达式的重要特征:
- **可选类型声明:**不需要声明参数类型,编译器可以统一识别参数值。
- **可选的参数圆括号:**一个参数无需定义圆括号,但多个参数需要定义圆括号。
- **可选的大括号:**如果主体包含了一个语句,就不需要使用大括号。
- **可选的返回关键字:**如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。
Lambda 表达式实例
Lambda 表达式的简单例子:
() -> 5
x -> 2 * x
(x, y) -> x – y
(int x, int y) -> x + y
(String s) -> System.out.print(s)
|