Java—新特性(Lambda表达式)

Lambda表达式
理解:Lambda函数式编程–>数学中函数对应起来
函数可以作为参数传递,代码实现的逻辑通过参数传递
输入–>输出–>计算公式(算法:代码实现)
面向对象语法最大的局限:结构必须非常完整。
使用函数式编程有一个前提:接口必须只有一个方法,如果有两个方法,则无法使用函数式编程。如果现在某个接口就是为了函数式编程而生的,最好在定义时就让其只能够定义一个方法,所以有了一个新的注解FunctionalInterface

(1)函数接口:为函数编程而生 y=f(x) f–>function
(2)指定定义一个抽象方法
(3)为了防止函数接口中定义多于一个抽象方法,导致函数接口变成接口,在接口定义时使用注解FunctionalInterface。
(4)使用lambda表达式进行编程
(5)lambda表达式的方法体
(参数名列表)–>{
code1
code2
[return]
}
如果方法体只有一条语句,可以省略{}
如果方法体只有一条语句,并且作为返回值,可以省略return
如果方法体中访问外部变量,隐式外部变量final修饰和内部类相同
参数名列表中的参数名称不要跟外部代码中的变量名重名,建议完整

范例:使用@FunctionalInterface注解
单行语法:(参数) -> 单行语句;
多行语法:(参数) -> {} ;
package www.bit.java.testdemo;
@FunctionalInterface
// 是一个函数式编程接口,只允许有一个方法
interface IMessage {
public void print() ; // 这是一个接口,接口中的抽象方法必须由子类覆写。
}
public class TestDemo {
public static void main(String[] args) {
// 函数式编程的使用,目的还是输出一句话
//单行语句
IMessage message = () -> System.out.println(“Hello World”);
message.print();
}
}

猜你喜欢

转载自blog.csdn.net/qq_43876267/article/details/89045376