面试题答案
一键面试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("...")
执行该操作。