给定一个接口`interface Calculator { int calculate(int a, int b); }`,以及一个方法 `public void execute(Calculator calc, int x, int y)`,若需要在 `execute` 方法中调用 `Calculator` 接口的 `calculate` 方法,并且实现加法操作,以下哪个 Lambda 表达式能正确且高效地实现该功能?

答案解析

A 选项的 Lambda 表达式正确地实现了加法运算,并且使用了 `return` 关键字返回结果,符合 Lambda 表达式的语法。B 选项中,虽然指定了参数类型,但没有使用 `return` 关键字,导致语句没有返回值,不符合 `int calculate(int a, int b)` 的定义。C 选项使用了隐式返回,当 Lambda 表达式只有一条语句且该语句返回结果时,可以省略 `return` 关键字和花括号。D 选项虽然使用了 `return` 关键字,但是 `Calculator` 接口的参数是 `int` 类型,而不是 `Integer` 类型,虽然在 Java 中会自动装箱,但与接口定义类型不完全匹配,并且参数类型多余声明,不如C高效,且`int`参数类型更能体现编程习惯,因此C比D更优秀。所以,C选项是最佳选择。
正确答案:C
随机推荐
开始刷题