接下来我将为您详细讲解Java中Lambda表达式的简单用例攻略。
Lambda表达式简介
Lambda表达式是Java SE 8中新增的一个功能。它是一种匿名函数,它可以看做一种简化的、更紧凑的匿名内部类的写法。Lambda表达式的目的是使得Java语言更加紧凑、更易于读写。
Lambda表达式的语法
Lambda表达式的语法如下:
(parameter1, parameter2, ..., parameterN) -> {
// lambda表达式的主体
// 通过return语句返回值或通过throw语句抛出异常
};
其中,parameter1、parameter2、...、parameterN是参数列表,可以没有参数、单个参数或多个参数。如果有多个参数,用逗号隔开。
箭头(->)分割了参数和Lambda表达式的主体。箭头左侧是参数列表,箭头右侧是Lambda表达式的主体。
Lambda表达式的用途
Lambda表达式主要的用途是简化匿名内部类的写法。Lambda表达式可以作为一个方法的参数来传递。当然,Lambda表达式不仅仅可以替代匿名内部类,还可以用来简化函数式接口的实现、并行处理等。
Lambda表达式的示例说明
下面,我将用两个示例说明Lambda表达式的用法。
示例1:对列表中的每个元素进行操作
List<String> list = new ArrayList<>();
list.add("apple");
list.add("orange");
list.add("banana");
list.forEach(str -> System.out.println(str));
上面这段代码创建了一个字符串列表,然后调用List的forEach方法,使用Lambda表达式输出列表中的每个元素。输出结果如下:
apple
orange
banana
示例2:使用Lambda表达式实现函数式接口
interface MathOperation {
int operate(int x, int y);
}
public class LambdaTest {
public static void main(String[] args) {
MathOperation addition = (int x, int y) -> x + y;
MathOperation subtraction = (int x, int y) -> x - y;
MathOperation multiplication = (int x, int y) -> x * y;
MathOperation division = (int x, int y) -> x / y;
System.out.println("10 + 5 = " + operate(10, 5, addition));
System.out.println("10 - 5 = " + operate(10, 5, subtraction));
System.out.println("10 * 5 = " + operate(10, 5, multiplication));
System.out.println("10 / 5 = " + operate(10, 5, division));
}
private static int operate(int x, int y, MathOperation mathOperation) {
return mathOperation.operate(x, y);
}
}
上面这段代码定义了一个函数式接口MathOperation,其中有一个方法operate接受两个整数作为参数并返回一个整数。接着在main方法中使用Lambda表达式实现了四种不同的操作,并且调用了operate方法进行计算。最后输出结果如下:
10 + 5 = 15
10 - 5 = 5
10 * 5 = 50
10 / 5 = 2
以上是Lambda表达式的两个用例说明,希望能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中lambda表达式简单用例 - Python技术站