我正在尝试使用lambda来获得乐趣。我创建了一个允许lambda组合的仿函数。但是,组合方式只允许线性变换,不允许分支。我的想法是,我知道我将来会拥有一个有效的不可变状态数据结构。我想编写一个从状态中提取值的转换;并将执行一系列步骤(可能需要也可能不需要状态)来执行转换。为此,我创建了两个类。函数式接口(interface)的工作方式类似于java.util.function.Function,但在andThen方法中采用了一个BiFunction,它允许状态参数从lambda传递到lambda。importjava.util.Objects;importjava.util.func