Function接口用于接收一个参数并返回结果,其apply方法执行函数逻辑,andThen与compose支持函数组合,常与Stream API结合实现数据转换。
在Java中,Function 是一个函数式接口,位于 java.util.function 包下,用于表示一个接受一个参数并返回结果的函数。它最常用于Lambda表达式和方法引用,是函数式编程的核心组件之一。
Function 接口的基本定义
Function
示例:将字符串转换为大写
Function常用操作与链式调用
Function 接口还提供了 andThen 和 compose 方法,支持函数组合。
- andThen:先执行当前函数,再执行下一个函数
- compose:先执行传入的函数,再执行当前函数
示例:组合两个函数
Function// 使用 andThen:先求长度,再加上10
Function
int result1 = lengthPlusTen.apply("hello"); // 5 + 10 = 15
// 使用 compose:先加10,再求长度(注意顺序不同)
Function
int result2 = composed.apply("hi"); // 长度是2,2+10=12
在实际场景中的使用
Function 常用于集合处理、数据转换等场景,配合 Stream API 效果更佳。
示例:将用户列表的名字提取出来
List也可以预先定义可复用的函数:
Function基本上就这些。掌握 apply、andThen、compose 以及与 Stream 的结合,就能高效使用 Function 接口完成常见数据转换任务。不复杂但容易忽略细节,比如类型匹配和执行顺序。








