美文网首页
常用的函数接口

常用的函数接口

作者: 柚子过来 | 来源:发表于2018-02-04 15:16 被阅读0次
    接口 参数 返回类型
    Predicate<T> T boolean
    Consumer<T> T void
    BiConsumer<T,R>//如Map.forEach()函数的参数 (T,R) void
    Funcation<T,R> T R
    Supplier<T> None T
    BinaryOperator<T> (T,T) T

    下面举个简单的例子:

    public class Eight {
    //new 一个函数式接口并重写,如果只是这样的话,Java8的优势也只是提供了现成的接口(以前是自己定义接口使用)
    Predicate<Integer> predicate = new Predicate<Integer>() {
        @Override
        public boolean test(Integer integer) {
            return integer==1;
        }
    };
    
    Java 8 的lamba表达式配合函数式接口使用
    static Predicate<Integer> predicate2 = (I->I==1);
    
    //使用的时候将函数作为参数
    static boolean testPredict(Predicate<Integer> predicate) {
       return predicate.test(1);
    }
    
    public static void main(String[] args) {
        System.out.println(testPredict(predicate2));
    }
    }
    

    可以看出,通过使用函数式接口,将函数作为参数传递,大大简化重用了代码。

    相关文章

      网友评论

          本文标题:常用的函数接口

          本文链接:https://www.haomeiwen.com/subject/jrmmzxtx.html