Lambda表达式
作用
简化匿名内部类的书写
排序包装类数组
改写匿名内部类
代码实现
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
Integer[] arr=new Integer[]{2,1,3,4};
Arrays.sort(arr,(Integer o1,Integer o2)->{return o2-o1;});
Arrays.stream(arr).forEach(s -> System.out.println(s));
}
}
函数式编程
一种思想特点
面向对象:先找对象,再去让对象做事情
因为对于我们最重要的是
方法里面的逻辑
函数式编程
忽略面向对象的复杂语法
强调做什么,而不是谁去做
Lambda是函数式编程的方法体现
关注逻辑,而不是创建对象
格式
注意点
可以简化内部类书写
不可以用在其他对方
但只能简化函数式接口的匿名内部类的写法
有且只有一个抽象方法的接口叫做函数式接口
接口上方有注解 @FunciationInterface
示例
匿名内部类
利用lambda表达式改写
函数式接口