函数接口与lambda表达式
函数接口:只有一个抽象方法的接口称之为函数接口。
lambda表达式本质上是一个函数接口的实例,实现了接口内的这个唯一抽象方法,从而实现了这个接口。
// Java program to demonstrate lambda expressions
// to implement a user defined functional interface.
// A sample functional interface (An interface with
// single abstract method
interface FuncInterface
{
// An abstract function
void abstractFun(int x);
// A non-abstract (or default) function
default void normalFun()
{
System.out.println("Hello");
}
}
class Test
{
public static void main(String args[])
{
// lambda expression to implement above
// functional interface. This interface
// by default implements abstractFun()
FuncInterface fobj = (int x)->System.out.println(2*x);
// This calls above lambda expression and prints 10.
fobj.abstractFun(5);
}
}
输出:
10
格式

参数列表的参数不必写类型,因为可以通过接口中的唯一抽象方法推断出类型。
返回类型
- 函数体如果只有一条语句,这个语句的返回类型就是表达式的返回类型。
- 如果有多条语句,需要显式的使用return来返回。
参考:
https://hashnode.com/post/anonymous-functions-in-java-explained-cj1opkbj8000sml53bsq6r6cj
https://www.geeksforgeeks.org/lambda-expressions-java-8/
https://www.geeksforgeeks.org/functional-interfaces-java/

浙公网安备 33010602011771号