面试题答案
一键面试- Lambda表达式与函数式接口的关系:
- 在Java中,Lambda表达式是一种简洁的匿名函数语法,它可以用来创建函数式接口的实例。
- 函数式接口是指只包含一个抽象方法的接口(除了从
java.lang.Object
继承的方法之外)。Lambda表达式的形式与函数式接口中唯一的抽象方法的形式相匹配,从而实现该接口。
- 定义一个函数式接口:
这里使用@FunctionalInterface public interface MyFunctionalInterface { int operate(int a, int b); }
@FunctionalInterface
注解来标识这是一个函数式接口(虽然不是必须的,但强烈推荐,它可以在编译期进行检查,确保接口确实只有一个抽象方法),operate
方法是该接口唯一的抽象方法。 - 使用Lambda表达式来实现该接口的抽象方法:
在上述代码中,public class LambdaExample { public static void main(String[] args) { MyFunctionalInterface adder = (a, b) -> a + b; int result = adder.operate(3, 5); System.out.println("结果: " + result); } }
(a, b) -> a + b
是一个Lambda表达式,它实现了MyFunctionalInterface
接口中operate
方法的逻辑,创建了MyFunctionalInterface
接口的实例adder
,并调用operate
方法进行计算。