Lambda表达式
-
Lambda表达式是实例化函数式接口的重要方式,使用Lambda表达式可以使代码变的更加简洁紧凑
-
lambda表达式:参数列表、箭头符号->和方法体组成,而方法体可以是表达式,也可以是语句块
-
语法格式:(参数列表)-> { 方法体 } - 其中()、参数类型、{} 以及return关键字 可以省略。
实例化函数式接口是什么意思?
Consumer consumer1 = (Object o) -> { System.out.println("在这里面可以对o进行操作,但是没有返回值"); }; consumer1.accept(1);
可以看出我们通过Lambda表达式构造了一个Consumer类型的对象,利用这个对象调用其中的accept方法
Consumer consumer = new Consumer() { @Override public void accept(Object o) { //这里的o是Object类型,所以传入任意参数类型 System.out.println("在这里面可以对o进行操作,但是没有返回值"); } }; consumer.accept(1);
我们可以将Lambda表达式和匿名内部类进行比较,可以发现确实使代码变的更加简洁紧凑
我们这里也将其他几个函数式接口的Lambda表达式写一下
Supplier supplier1 = () -> { return "无形参但是有返回值"; }; Object o1 = supplier1.get(); Function function1 = (Object o2) -> { return "有形参有返回值"; }; Object apply = function1.apply("111"); Predicate predicate1 = (Object o3) -> { return false; }; boolean test1 = predicate1.test("111");