lambda(->)表达式
目的:简化代码
1.避免匿名内部类定义过多
2.可以让你的代码看起来简洁
3.去掉一堆没有意义的代码,只留下核心逻辑
首先有函数式接口(只有一个抽象方法)
public class Test1 {
public static void main(String[] args) {
//未简化匿名内部类
ggb = new Like() {
@Override
public void lambda() {
System.out.println("i like lambda4");
}
};
ggb.lambda();
//匿名内部类1.lambda简化
ILove love =(int i) -> {
System.out.println("我爱你" + i + "年");
};
//2.参数类型简化1
love=(i)-> {
System.out.println("我爱你" + i + "年");
};
//3.再简化
love=i -> {
System.out.println("我爱你" + i + "年");
};
//4.继续简化
love=i -> System.out.println("我爱你" + i + "年");
love.love(20000);
//总结 1.lambda表达式只有一行代码的情况下才能,简化成一行
//2.前提接口为函数式接口
//3.多个参数类型,要去掉都去掉,必须加上括号
}
interface ILove {
void love(int i);
}
}