Lambda表达式的类型通常是函数式接口(Functional interface)。函数式接口是一个只有一个抽象方法的接口,它们通常与lambda表达式一起使用。在Java 8中,可以使用@FunctionalInterface注释来强制编译器确保接口只有一个抽象方法。例如:
@FunctionalInterface interface MyInterface { void myMethod(); }
可以使用lambda表达式来实现该接口:
MyInterface myInterface = () -> System.out.println("Hello world!");
lambda表达式是函数式接口的一个实例,因此可以将它们分配给函数式接口变量来使用。在上面的例子中,lambda表达式可以分配给MyInterface变量,因为它们在语法上匹配。