Lambda 是JDK 8 的重要新特性。它允许把函数作为一个方法的参数(函数作为参数传递进方法中),使用 Lambda 表达式可以使代码变的更加简洁紧凑,使Java代码更加优雅。
1、无参无返回
定义一个接口
public interface Eatable {
void eat();
}
接口实现类
public class EatableImpl implements Eatable{
@Override
public void eat() {
System.out.println("一天一苹果");
}
}
测试类
public class EatableDemo {
public static void main(String[] args) {
//主方法调用useEatable
Eatable e = new EatableImpl();
useEatable(e);
//匿名内部类
useEatable(new Eatable() {
@Override
public void eat() {
System.out.println("一天一苹果");
}
});
//lambda表达式
useEatable(() -> {
System.out.println("一天一苹果");
});
}
private static void useEatable(Eatable e){
e.eat();
}
}
2、有参无返回代码示例
public interface Eatable {
void eat(String name);
}
public class EatDemo {
public static void main(String[] args) {
useEat((String name) -> {
System.out.println(name);
System.out.println("输出的啥");
});
}
private static void useEat(Eatable e){
e.eat("苹果");
}
}
3、有参有返回
public interface Addable {
int add(int x,int y);
}
public class AddableDemo {
public static void main(String[] args) {
useAddable( (int x,int y ) -> {
return x+y;
});
}
private static void useAddable(Addable a){
int sum = a.add(5, 7);
System.out.println(sum);
}
}
原文:https://www.cnblogs.com/testero/p/15178434.html