interface就是只有一個public method的interface. 下面是範例.
package lang;
public class LambdaDemo {
public static void main(String[] args) {
LambdaDemo ld = new LambdaDemo();
/**
* Using Lambda
*/
ld.lambdaTest(t -> {
System.out.println("a lambda run");
});
/**
* Without using Lambda
*/
ld.lambdaTest(new Test(){
@Override
public void run(Test t) {
System.out.println("not a lambda run");
}
});
}
public void lambdaTest(Test t) {
t.run(t);
}
}
interface Test {
public void run(Test t);
}
以前必須要把run()的method signature寫一遍,然後裡面是實作,有了Lambda之後, 諸如此類的實作就可以大幅簡化了.
沒有留言:
張貼留言