java---函数作为参数传入

1,046 阅读1分钟
public interface IFuncService {

    /**
     *
     * @param dataFunc 函数类型
     * @param arg  函数的入参类型
     * @param <S> 函数的入参类型
     * @param <T> 函数的返参类型
     */
    <S, T> void func(Function<S, List<T>> dataFunc, S arg);
}
public class FuncServiceImpl implements IFuncService {

    /**
     * 函数作为参数
     * @param dataFunc 函数类型
     * @param arg  函数的入参类型
     * @param <S> dataFunc的入参类型
     * @param <T> dataFunc的返参类型
     */
    @Override
    public <S, T> void func(Function<S, List<T>> dataFunc, S arg) {
        //someCode
        
        List<T> data = dataFunc.apply(arg);
        
        //someCode

    }
}