Lambda表达式的语法要求
(联想参数列表) ->{执行任务的代码块}
精简写法
1、参数类型可以省略
2、假如只有一个参数,()可以省略
3、如果方法体只有一个语句{ }可以省略
4、如果方法体唯一的语句是return返回语句,那么{ }和return要同时省略
2. Lambda表达式方法引用
lambda表达式方法引用 如果lambda表达式方法体已经有其他方法/现那么则可以使用方法引用
2.1静态方法引用
格式 类名::方法名
注意事项:
被引用的方法参数列表和函数式接口中抽象方法的参数一致!
接口的抽象方法没有返回值,引用的方法可以有返回值也可以。
没有接口的抽象方法有返回值,引用的方法必须有相同类型的返回值!
由于满足抽象参数列表与引用参数列表相同,所以可以写成静态方法引用的格式。
2.2 实例方法引用
格式 实例名::方法名
注意事项:
被引用的方法参数列表和函数式接口中抽象方法的参数一致!
接口的抽象方法没有返回值,引用的方法可以有返回值也可以没有。
接口的抽象方法有返回值,引用的方法必须有相同类型的返回值!
2.3 构造方法引用:
注意事项: 被引用的类必须存在一个构造方法与函数式接口的抽象方法参数列表一致
2.3.1无参构造方法引用
格式 类名::new
2.3.2 有参构造方法引用
格式 实例名 ::new
2.4 特殊方法引用
格式 类名::实例方法名
注意事项: 在抽象方法中,参数作为实例方法调用者,就可以简化