特点
- lambda表达式允许将函数作为方法的参数
- lambda表达式更加简洁
特征
- 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
- 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
- 可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
- 可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值
语法
- lambda表达式由两部分构成【参数列表】->【实现】
(parameters)->express 或 (parameters)->{express}
表达式语法例子
@Test public void test1() { //1.一行代码 Runnable runnable1 = () -> System.out.println("hello"); Runnable runnable2 = () -> { System.out.println("hello"); }; //2.多行代码 Runnable runnable3 = () -> { System.out.println("hello"); System.out.println("hello"); System.out.println("hello"); }; //3.一个参数,类型可忽略 x->System.out.println(x); (x)->System.out.println(x); (String x)->System.out.println(x); // 4.2个以上参数类型可忽略 (x,y)->System.out.println(x+y); (String x,string y)->System.out.println(x+y); // 5.有返回一行代码 ()->5;
//6.有返回多行代码 ()->{ int a=10; return a; } }