1 Lambda表达式( -> )
Lambda表达式的作用就是为了简化函数式接口的匿名内部类的一种代码写法,函数式接口就是内部只有一个抽象方法的接口,函数式接口会使用@FunctionalInterface注解标明,Lambda表达式的格式如下:
(匿名内部类被重写方法的形参列表) ->{
被重写方法的方法体;
}
实现Runnable接口创建线程的Lambda写法
如果重写方法的方法体只有一行代码,同时省略大括号和分号不写,如果这行代码是个return语句的话还要省略return不写
形参列表的参数类型也可省略不写
如果只有一个参数的话可以同时省略参数类型和小括号
实现Runnable接口创建线程的Lambda写法
collections排序的Lambda写法
2 方法引用( :: )
方法引用是为了进一步的简化Lambda表达式的写法,主要有以下四种引用形式:静态方法的引用、实例方法的引用、特定类型方法的引用、构造器的引用
静态方法的引用
⚠ 被引用静态方法的参数列表要和函数式接口中抽象方法的参数列表保持一致
类名::静态方法名
实例方法的引用
⚠ 被引用实例方法的参数列表要和函数式接口中抽象方法的参数列表保持一致
对象名::实例方法名
最经典的实例方法就是输出语句
特定类型方法的引用
⚠ 被引用方法的参数列表中的第一个参数作为后面返回语句中方法的调用者
调用者的类型::方法
构造器的引用
⚠ 返回值是使用一个构造器创建对象
构造器::new