要自定义Java Lambda表达式的函数式接口,请按照以下步骤操作:
@FunctionalInterface
注解。虽然这不是强制性的,但它可以帮助编译器在接口不满足函数式接口的条件时发出错误。以下是一个自定义函数式接口的示例:
// 1. 创建一个新的Java接口
@FunctionalInterface // 2. 使用 @FunctionalInterface 注解
public interface MyCustomFunction {
// 3. 添加一个抽象方法
int performOperation(int a, int b);
}
public class Main {
public static void main(String[] args) {
// 4. 使用自定义函数式接口作为目标类型
MyCustomFunction add = (a, b) -> a + b; // 5. 创建并使用Lambda表达式
MyCustomFunction subtract = (a, b) -> a - b;
System.out.println("Add: " + add.performOperation(5, 3));
System.out.println("Subtract: " + subtract.performOperation(5, 3));
}
}
输出:
Add: 8
Subtract: 2
在这个示例中,我们创建了一个名为MyCustomFunction
的函数式接口,它有一个名为performOperation
的抽象方法。然后,在Main
类中,我们使用Lambda表达式实现了该接口的方法,并分别执行了加法和减法操作。