MST

星途 面试题库

面试题:Java中函数式接口与Lambda表达式:基础应用

请解释什么是Java中的函数式接口,并列举一个Java标准库中的函数式接口。同时,用Lambda表达式实现这个函数式接口的一个简单示例。
14.6万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

1. 函数式接口定义

函数式接口(Functional Interface)是Java 8中引入的概念,指的是只包含一个抽象方法的接口。尽管接口中可以包含多个默认方法(default method)和静态方法(static method),但只要满足仅有一个抽象方法,它就是函数式接口。函数式接口主要用于支持Lambda表达式和方法引用,为Java带来函数式编程的特性。

2. Java标准库中的函数式接口

java.util.function.Consumer<T> 是Java标准库中的一个函数式接口。它代表一个接受单个输入参数但不返回结果的操作。其唯一的抽象方法是 void accept(T t)

3. 使用Lambda表达式实现 Consumer<T> 示例

import java.util.function.Consumer;

public class ConsumerExample {
    public static void main(String[] args) {
        // 使用Lambda表达式创建Consumer实例
        Consumer<String> printConsumer = s -> System.out.println(s);

        // 调用accept方法
        printConsumer.accept("Hello, this is a Consumer example using Lambda!");
    }
}

在上述代码中,我们通过Lambda表达式 s -> System.out.println(s) 创建了一个 Consumer<String> 实例 printConsumer,这个Lambda表达式实现了 Consumer 接口的 accept 方法,对传入的字符串进行打印操作。然后调用 printConsumer.accept("...") 执行该操作。