用了这么久的 Java,也体验了 Java 8 的 lambda 带来的便捷,但是我一直都是直接用,而从未想过他是如何实现的。比如:为什么在小括号里面可以放一个函数作为参数,自己造一个lambda 应该怎么组织代码?
开始
自定义 Lambda 表达式只需要一个接口即可,不需要编写实现类
@FunctionalInterface
interface Greet {
void say(String toWho);
}
然后我们找个地方使用这个接口
public class LambdaApp {
public static void sayHello(String name, Greet greet) {
greet.say(name);
}
}
搞个 Main 方法测一下
public class LambdaApp {
public static void sayHello(String name, Greet greet) {
greet.say(name);
}
public static void main(String[] args) {
LambdaApp.sayHello("tqz", (x) -> {
System.out.println("Hello " + name);
});
}
}
输出
Hello tqz
虽然没有写实现类,但是我们通过 l