How to do function composition?

后端 未结 2 1869
甜味超标
甜味超标 2020-12-01 13:50

While rather impatiently waiting for Java 8 release and after reading brilliant \'State of the Lambda\' article from Brian Goetz I noticed that function composition was not

2条回答
  •  执笔经年
    2020-12-01 14:23

    There is one flaw in using compose and andThen. You have to have explicit variables, so you can't use method references like this:

    (Person::getAddress).andThen(Address::getCountry)
    

    It won't be compiled. What a pity!

    But you can define an utility function and use it happily:

    public static  Function compose(Function f1, Function f2) {
            return f1.andThen(f2);
        }
    
    compose(Person::getAddress, Address::getCountry)
    

提交回复
热议问题