// 示例代码: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 new date()
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站