前言

我们本期主要介绍下Java8的新特性, Function函数. 废话不多说, 我们直接进入正题部分.

PS: 上海现在多数处于在家办公的状态. 自己的时间也稍微多了一点.


Function函数列表

Function函数, 是Java仿照Scala等语言, 函数可以传递的特性, 而提供的一种新的功能. 其提供的类基本都是处于java.util.function下.

相关列表

序号 接口 & 描述

  1. BiConsumer<T,U>
    代表了一个接受两个输入参数的操作,并且不返回任何结果

  2. BiFunction<T,U,R>
    代表了一个接受两个输入参数的方法,并且返回一个结果

  3. BinaryOperator
    代表了一个作用于于两个同类型操作符的操作,并且返回了操作符同类型的结果

  4. BiPredicate<T,U>
    代表了一个两个参数的boolean值方法

  5. BooleanSupplier
    代表了boolean值结果的提供方

  6. Consumer
    代表了接受一个输入参数并且无返回的操作

  7. DoubleBinaryOperator
    代表了作用于两个double值操作符的操作,并且返回了一个double值的结果。

  8. DoubleConsumer
    代表一个接受double值参数的操作,并且不返回结果。

  9. DoubleFunction
    代表接受一个double值参数的方法,并且返回结果

  10. DoublePredicate
    代表一个拥有double值参数的boolean值方法

  11. DoubleSupplier
    代表一个double值结构的提供方

  12. DoubleToIntFunction
    接受一个double类型输入,返回一个int类型结果。

  13. DoubleToLongFunction
    接受一个double类型输入,返回一个long类型结果

  14. DoubleUnaryOperator
    接受一个参数同为类型double,返回值类型也为double 。

  15. Function<T,R>
    接受一个输入参数,返回一个结果。

  16. IntBinaryOperator
    接受两个参数同为类型int,返回值类型也为int 。

  17. IntConsumer
    接受一个int类型的输入参数,无返回值 。

  18. IntFunction
    接受一个int类型输入参数,返回一个结果 。

  19. IntPredicate
    :接受一个int输入参数,返回一个布尔值的结果。

  20. IntSupplier
    无参数,返回一个int类型结果。

  21. IntToDoubleFunction
    接受一个int类型输入,返回一个double类型结果 。

  22. IntToLongFunction
    接受一个int类型输入,返回一个long类型结果。

  23. IntUnaryOperator
    接受一个参数同为类型int,返回值类型也为int 。

  24. LongBinaryOperator
    接受两个参数同为类型long,返回值类型也为long。

  25. LongConsumer
    接受一个long类型的输入参数,无返回值。

  26. LongFunction
    接受一个long类型输入参数,返回一个结果。

  27. LongPredicate
    R接受一个long输入参数,返回一个布尔值类型结果。

  28. LongSupplier
    无参数,返回一个结果long类型的值。

  29. LongToDoubleFunction
    接受一个long类型输入,返回一个double类型结果。

  30. LongToIntFunction
    接受一个long类型输入,返回一个int类型结果。

  31. LongUnaryOperator
    接受一个参数同为类型long,返回值类型也为long。

  32. ObjDoubleConsumer
    接受一个object类型和一个double类型的输入参数,无返回值。

  33. ObjIntConsumer
    接受一个object类型和一个int类型的输入参数,无返回值。

  34. ObjLongConsumer
    接受一个object类型和一个long类型的输入参数,无返回值。

  35. Predicate
    接受一个输入参数,返回一个布尔值结果。

  36. Supplier
    无参数,返回一个结果。

  37. ToDoubleBiFunction<T,U>
    接受两个输入参数,返回一个double类型结果

  38. ToDoubleFunction
    接受一个输入参数,返回一个double类型结果

  39. ToIntBiFunction<T,U>
    接受两个输入参数,返回一个int类型结果。

  40. ToIntFunction
    接受一个输入参数,返回一个int类型结果。

  41. ToLongBiFunction<T,U>
    接受两个输入参数,返回一个long类型结果。

  42. ToLongFunction
    接受一个输入参数,返回一个long类型结果。

  43. UnaryOperator
    接受一个参数为类型T,返回值类型也为T。

Reference
[1] runoob.com/java/java8-functional-interfaces.html


使用Case

我们在日常使用过程种, 当然是掌握其中的几个就可以完成相关的工作了. 也不需要记那么多的函数.
在此, 我就列举下我们工作中的一些使用场景.

[Java基础] Java8的Function函数及其使用相关推荐

  1. Java8之function函数详解

    1. function 我们来看下function这个函数式接口里面都有什么方法 下面,我们来仔细研究下以下的方法 1.R apply(T t) 按照以往的逻辑,我们先来看下原始接口是怎么说的 翻译过 ...

  2. ajax success function_【java 基础】java-回调函数(结合jquery.ajax)

    回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定 ...

  3. [转载] Java基础之构造方法(函数)何时被调用

    参考链接: 有关Java构造函数的面试问题 看到这个题,你肯定要不就是在面试的路上,要不就是在刚学习的路上,要不就是连题目也没明白: 构造方法何时被调用 ( ) A.类定义时 B.创建对象时 C.调用 ...

  4. I学霸官方免费教程八:Java基础之方法(函数)

    方法(C语言中称为函数) 方法:由多条语句组成,可以重复使用的,完成一个或多个功能的代码集合:方法只能声明在类中,不能声明在其他方法中 语法格式: [访问修饰符] 返回值类型 方法名([参数列表]){ ...

  5. Java基础之Java8中Map的compute的使用

    Java基础之Java8中Map的compute的使用 一.介绍 Java8更新后,Map接口中提供了compute方法.下面我们先看看官方文档的对它的使用说明. 如果看完上面的还是不太明白的话,看下 ...

  6. Java基础之Java8 新特性

    hp实训8.19_Java基础之Java8新特性 // 信息展示方法 ,接口中,就可以提供一种实现. 就可以使用这种功能.default void print() {System.out.printl ...

  7. 【java基础】快速掌握 Java5、Java6、Java7、Java8、Java9 的新特性!!!

    1. 介绍 JAVA作为使用的主力语言,掌握下其历史发展也是有必要的.看看从JAVA5开始到现在的JAVA9有哪些变化.借此机会,也可以看看哪些特性我们是已经用到的,哪些是还没有用到的. 如果有程序猿 ...

  8. Java基础学习——第十六章 Java8新特性

    Java基础学习--第十六章 Java8 新特性 Java8(JDK8.0)较 JDK7.0 有很多变化或者说是优化,比如 interface 里可以有静态方法和默认方法,并且可以有方法体,这一点就颠 ...

  9. Java基础之Java8中map和flatMap的使用

    Java基础之Java8中map和flatMap的使用 一.介绍 首先,看下map和flatMap的官方文档说明 map flatMap 其实单纯的看api说明还是比较抽象,下面我将以几个实战例子来帮 ...

最新文章

  1. Java解决递归栈溢出_方法递归调用中java栈溢出的问题 及 解答 | 学步园
  2. linux关闭硬件蜂鸣器,Linux Tips: 如何关闭系统的蜂鸣器
  3. project 模板_施工进度计划表不会做?18个横道图自动生成模板,直接在线编辑...
  4. Java如何让小球随机运动_用java模拟两球的随机运动及碰撞
  5. WebRTC / Jitsi / 使用 jitsi 官方源安装内网演示环境过程
  6. c语言语法分析源程序,深入浅出编译原理-5-一个简单语法分析器的C语言实现
  7. python中利用opencv对图片进行缩放
  8. php中页面静态化技术,在PHP中实现页面静态化的方法有哪些
  9. VS2019 产品密钥
  10. LOL英雄联盟首页以及攻略页面制作
  11. LDA-线性判别分析
  12. abrt-hook-ccpp
  13. 识别PDF关键词,在文件页数和坐标
  14. 极路由 安装php,极路由1S刷潘多拉安装优酷路由宝插件
  15. 黄金圈法则:成功者必备的深度思考方法
  16. 用IntelliJ IDEA看Java类图
  17. reset master和reset slave解析
  18. 访问接口返回状态200,但是response无数据
  19. 六、软件用户操作手册-模板
  20. 吉他学习教程1 之 认识吉他

热门文章

  1. 为什么经营茶馆越来越难
  2. Chapter1 我看空之轨迹
  3. 整形平台如何从互联网医疗痛点封锁中突围?
  4. LCCUP第三题弹珠游戏总结,附完整代码
  5. 12306官方服务器不稳定,12306官方再次出现服务器故障 无法购票
  6. 转:CreateFile函数详解
  7. 网络编程、UDP、TCP协议
  8. python爬虫爬取百度文库txt以及ppt资料
  9. win7无法访问win10计算机,win7系统局域网不能访问怎么办
  10. linux中的crontab文件位置,linux crontab 文件位置和日志位置