// 示例代码:Java 8 函数式接口作为方法参数
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
public class Java8FunctionParameter {
// 定义一个接受 Predicate 函数式接口的方法
public static void filterList(List<String> list, Predicate<String> predicate) {
list.stream()
.filter(predicate)
.forEach(System.out::println);
}
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
// 使用 lambda 表达式作为参数传递给 filterList 方法
System.out.println("Names longer than 4 characters:");
filterList(names, name -> name.length() > 4);
// 使用方法引用作为参数传递给 filterList 方法
System.out.println("\nNames that start with 'A':");
filterList(names, name -> name.startsWith("A"));
}
}
List<String>
和一个 Predicate<String>
,并通过流(Stream)API 对列表进行过滤和打印。name -> name.length() > 4
) 和 方法引用 (name -> name.startsWith("A")
) 都是传递给 filterList
方法的参数,用于定义过滤条件。这段代码展示了如何在 Java 8 中使用函数式接口作为方法参数,并结合 lambda 表达式和 Stream API 来简化代码。
上一篇:运行java程序的命令是什么
下一篇:java tree
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站