这些接口定义了单个抽象方法,用于实现 lambda 表达式和方法引用,从而支持函数式编程风格。 函数式编程的本质是,把函数也当做一个变量,让函数也做 [一等公民](一等公民.md)。 进一出一:Function 接口代表一个接受单个参数并返回结果的函数。它的抽象方法为 apply。 进二出一:BiFunction 接口代表一个接受两个参数并返回结果的函数。它的抽象方法也是 apply。 | 参数 - 返回值 | 接口 | 描述 | | -------- | ------------------- | -------------- | | 0-0 | Runnable | 没有参数,也没有返回值 | | 0-1 | `Callable<V>` | 没有参数,有一个返回值 | | 1-1 | `Function<T, R>` | 接受一个参数,返回一个值 | | 2-1 | `BiFunction<T, U, R>` | 接受两个参数,返回一个值 | | 0-1 | `Supplier<T>` | 没有参数,返回一个值 | | 1-0 | `Consumer<T>` | 接受一个参数,没有返回值 | | 1-1 | `Predicate<T>` | 接受一个参数,返回一个布尔值 |