失效链接处理 |
Lambda表达式 PDF 下载
本站整理下载:
提取码:n5r6
相关截图:
主要内容:
Lambda表达式
1. Lambda表达式的简介
1.1. Lambda表达式的概念
lambda表达式, 是Java8的一个新特性, 也是Java8中最值得学习的新特性之一。
lambda表达式, 从本质来讲, 是一个匿名函数。 可以使用使用这个匿名函数, 实现接口中的方法。 对接口进行非常简洁的实现, 从而简化代码。
1.2. Lambda表达式的使用场景
通常来讲, 使用lambda表达式, 是为了简化接口实现的。
关于接口实现, 可以有很多种方式来实现。 例如: 设计接口的实现类、 使用匿名内部类。 但是lambda表达式, 比这两种方式都简单。
public class Program {
public static void main(String[] args) {
// 无参、无返回值的函数式接口
interfaceImpl();
}
private static void interfaceImpl() {
// 1. 使用显式的实现类对象
SingleReturnSingleParameter parameter1 = new Impl();
// 2. 使用匿名内部类实现
SingleReturnSingleParameter parameter2 = new SingleReturnSingleParameter() {
@Override
public int test(int a) {
return a * a;
}
};
// 3. 使用lambda表达式实现
SingleReturnSingleParameter parameter3 = a -> a * a;
System.out.println(parameter1.test(10));
System.out.println(parameter2.test(10));
System.out.println(parameter3.test(10));
}
private static class Impl implements SingleReturnSingleParameter {
@Override
public int test(int a) {
return a * a;
}
}
}
1.3. Lambda表达式对接口的要求
虽然说, lambda表达式可以在一定程度上简化接口的实现。 但是, 并不是所有的接口都可以使用lambda表达式来简洁实现的。
lambda表达式毕竟只是一个匿名方法。 当实现的接口中的方法过多或者多少的时候, lambda表达式都是不适用的。
lambda表达式,只能实现函数式接口。
|