1.lambda基本语法
(1)声明部分:就是和lambda表达式绑定的接口类型
(2)参数部分:包含一对圆括号中,和绑定的接口中的抽象方法中的参数个数和顺序相同
(3)操作符部分:->
(4)执行代码块:包含一对大括号中,出现在操作符的右侧
[接口声明] = (参数) -> {执行代码块}
例:
没有参数,没有返回值的lambda表达式绑定的接口
interface ILambda1 {
void test();
}
//只有一行代码,则可以直接省略花括号 ILambda1 lambda1 = () -> { System.out.println("hello world"); }; lambda1.test();
带参数,没有返回值的lambda表达式
interface ILambda2 { void test(String a, int b); }
//或者直接参数对象类型,jvm会自动补全参数类型 ILambda2 lambda2 = (String a, int b) -> { System.out.println(a + b); }; lambda2.test("你好", 11);
带参数,带返回值类型的lambda表达式
interface ILambda3 { String test(String k, String v); } ILambda3 iLambda3 = (String k, String v) -> { return k + v; }; System.out.println(iLambda3.test("你好", "我的朋友"));
//或者
ILambda3 iLambda31 = (k, v) -> k + v;
System.out.println(iLambda31.test("hell", "world"));
总结:
(1) lambda表达式必须和接口进行绑定
(2) lambda表达式的参数,可以附带0-n个参数,括号中的参数类型可以不用指定,jvm会自动指定
(3) lambda表达式的返回值,如果代码块只有一行,并且没有大括号,不用写return关键字,单行代码的执行,会自动返回
如果添加了大括号或者多行代码,一定要添加return关键字返回结果