函数对象 = 参数 逻辑部分

如果逻辑部分只有一行,则逻辑部分整个会被作为返回结果

student.age < 18函数对象为, student -> student.age < 18

student.sex.equals('M')函数对象为,student -> student.sex.equals('M')

函数对象,则需要一个函数式接口用于执行该对象。由于上述函数对象的形参均为 Student 对象,返回值均为布尔类型,所以函数式接口方法应当匹配。

若明确指出参数类型,逻辑部分只有一行,自动作为返回值

(int a, int b) -> {int c = a + b; return c;}

代码多余一行,需要括号及 return

(a, b) -> a + b;

通过代码上下文(上下文中其接口)能确认参数、返回值类型,则省略不写。该函数对象的类型是其函数式接口类型。

   interface Lambda{
	   int op(int a, int b);
   }
 
	Lambda lambda = (a, b) -> a + b;

LambdaJava