并不是所有接口都可以使用Lambda表达式,只有函数式接口可以。
按照Java8函数式接口的定义,其只能有一个抽象方法,否则就不是函数时接口,就无法用Lambda表达式。
可以使用@FunctionalInterface标注函数式接口,在编译时提前发现错误。
一般都是匿名的委托方式,直接传参数进去:
例如:
Func
private string test(int x,string b){
return x.ToString() + b;
}
TestString t=new TestString(test);
t(44,"bbb");
Func