赞
踩
Lambda表达式
是替代接口的写法,只能用于接口
()->{}
实例化接口 创建了一个LambdaEL$1的类,实现了接口
实例化LambdaEL$1的类,类会越来越多
匿名内部类 临时使用 有很多垃圾类
Lambda表达式 可以解决这个问题
Lambda表达式基于函数式编程
函数式写法 方法的参数作为自变量
所有的接口都可以实现函数式编程
可以使用函数的写法来代替接口中方法的写法
(自变量x)->(因变量y)
void say();
(x,y)->{};
例如:
new lambdaEL().sayHi(new ISpeak() {
public int say(int a,int b) {
System.out.print("helloworlld");
return 1;
}
});
用lambda表达式可以修改为:
new lambdaEL().sayHi((a,b)->{System.out.print("helloworlld");return 1;});
实例化一个接口的时候,必须将接口中的方法全部实现
函数式编程 只适用于具有一个抽象方法的接口
Lambda表达式是一个函数,跟类没有关系,所以不会产生垃圾类
可以使代码简化
但是可读性差
Lambda表达式如果参数只有一个,参数括号可以省略
Lambda表达式默认就不需要数据类型
Lambda表达式如果没有返回值,后面的大括号可以省略
如果想要把一个接口变成函数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。