Lambda expressions type checking

Expression type checking
parameter type checking

public class App3 {
    //方法作为类型参数
    public static void test(MyInnerFace<String, List> inter){
        List<String> list=inter.strategy("hello",new ArrayList());
        System.out.println(list);
    }
    public static void main(String[] args) {
        test(new MyInnerFace<String, List>() {
            @Override
            public List strategy(String s, List list) {
                list.add(s);
                return list;
            }
        });
        test((x,y)->{
            y.add(x);
            return y;
        });
    }
}
//定义函数式的接口
@FunctionalInterface
interface MyInnerFace<T,R>{
    /**
     *
     * @param t 泛型参数
     * @param r 泛型参数
     * @return
     */
    R strategy(T t,R r);
}
Published 63 original articles · won praise 65 · views 2196

Guess you like

Origin blog.csdn.net/qq_41857955/article/details/104062769