Lambda表达式的学习
什么是Lambda表达式?
基于java,我的认识是用于简化代码的书写。因为使用匿名内部类有效代码比较少。比较方便实例化一个接口并且重写它的方法
使用Lambda表达式的条件
1.使用接口,接口中有且只有一个方法。函数式接口:有且只有一个抽象方法的接口
2.lambda表达式中的局部变量具有隐形的final含义,修改则报错
3.不允许声明局部变量名字同名的参数
public class Java8Tester {
public static void main(String args[]) {
final int num = 1;
Converter<Integer, String> s = (param) -> System.out.println(String.valueOf(param + num));
s.convert(2); // 输出结果为 3
}
public interface Converter<T1, T2> {
void convert(int i);
}
}
lambda的简略格式
1.参数类型可省略
2.如果代码块中只有一行,则可将{} ; (return) 省略