1.Lambda语法是由编译器将推断并转换包装为常规的代码,因此可以使用更少的代码来实现同样的功能。
2.基本语法:
(parameters) -> expression
或
(parameters) ->{ statements; }
/**
* 函数接口(接口里面只有一个函数)
* Lambda语法只适用于函数接口
*/
interface T{//函数接口
void t();
}
interface T1{
int t(int a);
}
interface T2{
int t(int a,int b);
}
public class Lambda {
public static void main(String[] args) {
// T a = new T(){//T接口的子类
//
// @Override
// public void t() {
//
// }
// };
/**
* 函数集接口用Lambda语法代替匿名类
*/
T a = ()-> {System.out.println("Hello");
System.out.println("world");
System.out.println("!");
};
a.t();
T1 b = aa -> aa * 2;//一行
System.out.println(b.t(21));
b = bb -> {bb *= 2;return bb;};//多行
System.out.println(b.t(2));
T2 c = (m,n) -> m + n;
System.out.println(c.t(76,32));
}
}
输出结果: