函数式接口在 java 8 中引入,用于支持 lambda 表达式和方法引用,其主要应用场景包括:事件处理、数据转换、数据筛选和数据排序。要使用函数式接口,可以创建一个该接口的实现类或使用 lambda 表达式。通过实现函数式接口的抽象方法即可实现它,以下是一些实战案例:事件处理中,通过创建 actionlistener 实现并添加监听器到按钮,可以处理按钮点击事件;数据转换中,通过创建 function 实现,可以将字符串转换为整数;数据筛选中,通过创建 predicate 实现,可以筛选出奇数;数据排序中,通过创建 comparator 实现,可以按年龄对用户进行排序。
Java 函数式接口的应用
函数式接口是一个仅包含一个抽象方法的接口。它在 Java 8 中引入,用于支持 lambda 表达式和方法引用。
应用场景
整数的 Function如何使用
要使用函数式接口,您需要创建一个该接口的实现类或使用 lambda 表达式:
// 创建实现类
class MyActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// ...
}
}
// 使用 lambda 表达式
ActionListener listener = e -> {
// ...
};如何实现
您可以通过实现函数式接口的抽象方法来实现它:
@FunctionalInterface interface MyFunction{ R apply(T t); } class MyFunctionImpl implements MyFunction { @Override public Integer apply(String s) { return Integer.parseInt(s); } }
实战案例
事件处理
JButton button = new JButton("Click Me");
// 创建一个 ActionListener 实现
ActionListener listener = e -> System.out.println("Button clicked!");
// 添加监听器到按钮
button.addActionListener(listener);数据转换
// 创建一个 Function 实现 FunctionparseToInt = s -> Integer.parseInt(s); // 应用转换 int number = parseToInt.apply("123");
数据筛选
// 创建一个 Predicate 实现 PredicateisOdd = n -> n % 2 == 1; // 使用筛选 List oddNumbers = list.stream() .filter(isOdd) .toList();