使用Lambda表达式的前提条件是:函数式接口
1 什么是函数式接口
//任何接口只要只包含唯一一个抽象方法,那么他就是函数是接口
public interface Runnable{
public abstract void run();
}
2 通过lambda表达式创建该接口对象
public interface ILike {
public abstract void like();
}
public class TestLambda {
public static void main(String[] args) {
/*ILike iLike = new ILike() {
@Override
public void like() {
System.out.println("i like you");
}
};*/
//Lambda
ILike iLike = ()->{
System.out.println("i like you");
};
//简化
//ilike = ()->System.out.println("i like you");
iLike.like();
}
}
//输出结果
i like you
总结:
前提是接口为函数式接口;
Lambda表达式只能在只有一行代码的情况下才能简化成一行,如果有多行,那么就用代码块;
一个参数可以只写参数,多个参数也可以去掉类型,但是,要去掉都去掉,必须加上括号。