MST

星途 面试题库

面试题:Java中Lambda表达式如何与函数式接口配合使用

请解释在Java中,Lambda表达式与函数式接口之间的关系,并举例说明如何定义一个函数式接口,以及如何使用Lambda表达式来实现该接口的抽象方法。
36.7万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. Lambda表达式与函数式接口的关系
    • 在Java中,Lambda表达式是一种简洁的匿名函数语法,它可以用来创建函数式接口的实例。
    • 函数式接口是指只包含一个抽象方法的接口(除了从java.lang.Object继承的方法之外)。Lambda表达式的形式与函数式接口中唯一的抽象方法的形式相匹配,从而实现该接口。
  2. 定义一个函数式接口
    @FunctionalInterface
    public interface MyFunctionalInterface {
        int operate(int a, int b);
    }
    
    这里使用@FunctionalInterface注解来标识这是一个函数式接口(虽然不是必须的,但强烈推荐,它可以在编译期进行检查,确保接口确实只有一个抽象方法),operate方法是该接口唯一的抽象方法。
  3. 使用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方法进行计算。