当你在Java中使用Lambda表达式时,你可以更简洁地定义一个匿名函数。Lambda表达式可以用来代替某些接口类型的对象,通常是函数式接口,而不需要单独实现接口的方法。下面是一个简单的Lambda表达式的例子:
假设有一个接口 MathOperation
:
interface MathOperation {
int operation(int a, int b);
}
你可以使用Lambda表达式来创建这个接口的实例:
public class LambdaExample {
public static void main(String[] args) {
// 使用Lambda表达式实现接口中的方法
MathOperation addition = (int a, int b) -> a + b;
// 使用Lambda表达式实现接口中的方法
MathOperation subtraction = (a, b) -> a - b;
// 调用Lambda表达式实现的方法
System.out.println("10 + 5 = " + operate(10, 5, addition));
System.out.println("10 - 5 = " + operate(10, 5, subtraction));
}
// 执行操作的方法
public static int operate(int a, int b, MathOperation mathOperation) {
return mathOperation.operation(a, b);
}
}
在这个例子中,MathOperation
接口定义了一个接受两个整数参数并返回一个整数结果的方法 operation
。然后,通过Lambda表达式创建了两个 MathOperation
的实例,分别实现了加法和减法的功能。最后,在 operate
方法中调用这些实例来执行相应的操作。
Lambda表达式的一般语法是:参数 -> 表达式
或者 (参数) -> {语句块}
。在这个例子中,(int a, int b) -> a + b
是一个接受两个整数参数并返回它们之和的Lambda表达式。