一句话概况lambda表达式的用法: lambda表达式可用于替代函数式接口,换句话说只有函数式接口出现的地方,才可以使用lambda表达式。
函数式接口的定义:仅含有一个抽象方法的接口。
例子:
public class LambdaTest {
public static void main(String[] args){
animalRun(new Animal() {
@Override
public void run() {
System.out.println("a dog is running");
}
});
//lambda表达式
animalRun(()-> System.out.println("a cat is running"));
}
private static void animalRun(Animal animal){
animal.run();
}
@FunctionalInterface
interface Animal{
void run();
}
}
语法 :
() -> statement
(Type1 param1,Type2 param2,...) ->{ statement1;statement2;return statement3;}
param -> statement
param -> { statement1; statement2; return statement3}