高级Java函数:Lambda表达式的用法和示例
发布时间:2023-11-29 12:08:26
Lambda表达式是Java 8中引入的一种函数式编程的特性,它可以简化代码书写,并使得代码更加可读和易于维护。Lambda表达式可以替代需要实现函数接口的匿名内部类,可以以更加简洁的方式实现函数式接口中的抽象方法。下面将介绍Lambda表达式的用法和示例。
Lambda表达式的语法如下:
(parameters) -> expression
或
(parameters) -> { statements; }
其中,parameters表示函数的参数列表,可以为空或多个参数。expression表示只有一个表达式的函数体,而{ statements; }表示多条语句的函数体。
Lambda表达式示例1:Hello World
() -> System.out.println("Hello World");
上述Lambda表达式没有参数,输出字符串"Hello World"。
Lambda表达式示例2:相加计算
(int a, int b) -> a + b
上述Lambda表达式有两个参数a和b,并返回它们的和。
Lambda表达式示例3:筛选偶数
(List<Integer> numbers) -> {
List<Integer> evenNumbers = new ArrayList<>();
for(Integer number : numbers) {
if(number % 2 == 0) {
evenNumbers.add(number);
}
}
return evenNumbers;
}
上述Lambda表达式接受一个整数列表作为参数,然后筛选出其中的偶数,并返回一个新的列表。
Lambda表达式示例4:判断字符串的长度
(String str) -> str.length() > 5
上述Lambda表达式接受一个字符串作为参数,判断它的长度是否大于5,并返回布尔值。
除了作为函数式接口的实现,Lambda表达式还可以作为函数参数传递,简化代码的书写。下面是一个示例:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
names.forEach((String name) -> System.out.println(name));
上述代码利用Lambda表达式作为参数,遍历输出字符串列表中的每个元素。
总结:
Lambda表达式是Java 8引入的一种函数式编程特性,可以用于简化代码的书写,并使得代码更加可读和易于维护。它可以替代匿名内部类的方式实现函数式接口,并且可以作为函数参数传递。Lambda表达式的使用可以大大提高Java代码的灵活性和可扩展性。
