常用的函数接口

接口 参数 返回类型
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://github.com/EasyKotlin 值就是函数,函数就是值。所有函数都消费函数,...
    JackChen1024阅读 6,072评论 1 17
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,014评论 19 139
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,208评论 0 13
  • 每时每刻,每刻有你 记忆中的美食——梧州特色,家乡的味道 梧州纸包鸡 传统的纸包鸡制作技艺,为了追求口味的正宗与地...
    简单哈哈哈吼吼吼阅读 542评论 0 1