责任链模式

发布时间 2023-07-26 20:54:46作者: Arborblog
        Function<String,String> fc = Function.identity();
        Function<String, String> stringStringFunction = fc.andThen(this::handleStra);
        Function<String, String> stringStringFunction1 = fc.andThen(this::handleStrb);
        Function<String, String> stringStringFunction2 = fc.andThen(this::handleStrc);
        Function<String, String> reduce = Stream.of(stringStringFunction1, stringStringFunction1, stringStringFunction2).reduce(Function.identity(), Function::andThen);
        System.out.println(stringStringFunction.compose(stringStringFunction1).apply("abc"));
        System.out.println(stringStringFunction.apply("sss"));
        System.out.println(reduce.apply("123"));


abcba
sssa
123bbc

public  String handleStra(String s){
        return s+"a";
    }
    public  String handleStrb(String s){
        return s+"b";
    }
    public  String handleStrc(String s){
        return s+"c";
    }