常用的函数接口

2018-02-04  本文已影响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));
}
}

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

上一篇下一篇

猜你喜欢

热点阅读