java中没有真正的函数变量;

一、所有的函数(拉姆达)表达式,都被解释为functional interface

@FunctionalInterface

interface GreetingService

{

void sayMessage(String message);

二、通过返回容器类型实现串联;

prices.stream()

.filter(price -> price.compareTo(BigDecimal.valueOf(20)) > 0)

.map(price -> price.multiply(BigDecimal.valueOf(0.9)))

.reduce(BigDecimal.ZERO, BigDecimal::add);

三、函数式接口

函数式接口可以对现有的函数友好地支持 lambda。

JDK 1.8 之前已有的函数式接口:

  • java.lang.Runnable
  • java.util.concurrent.Callable
  • java.security.PrivilegedAction
  • java.util.Comparator
  • java.io.FileFilter
  • java.nio.file.PathMatcher
  • java.lang.reflect.InvocationHandler
  • java.beans.PropertyChangeListener
  • java.awt.event.ActionListener
  • javax.swing.event.ChangeListener

JDK 1.8 新增加的函数接口:

  • java.util.function

参考文献

https://www.runoob.com/java/java8-functional-interfaces.html

最新文章

  1. sublime3 常用插件
  2. 使用HTML5的File实现base64和图片的互转
  3. magento启用SSL改http成https
  4. 怎么在OCR文字识别软件中安装和启动 OCR文字识别软件 Hot Folder
  5. 解决 Oracle em 无法打开的问题
  6. CSS3展现精彩的动画效果 css3的动画属性
  7. mysql修改表结构
  8. 函数page_rec_get_next_const
  9. CString 的一些事
  10. js实现超过长度的字符截取指定长度(中文字符算2个字符),超出部分以...显示
  11. NYOJ710 外星人的供给站 【贪心】
  12. BZOJ 2006 NOI2010 超级钢琴 划分树+堆
  13. android ApplicationContext Context Activity 内存的一些学习
  14. 代码的鲁棒性:链表中倒数第k个结点
  15. Android自己定义组件之日历控件-精美日历实现(内容、样式可扩展)
  16. lldb po [$view recursiveDescription]; 打印视图层次
  17. C# 获取 串口 设备名称 与 串口号 ManagementObjectSearcher类
  18. ubuntu server 18.04 lts 终端中文显示为乱码的解决方案
  19. RadioButton使用
  20. spring @Value注解#和$区别

热门文章

  1. 用redis-dump工具对redis集群所有数据进行导出导入
  2. 前端之photoshop的简单使用
  3. length()返回当前字符串的字符个数
  4. Node.js提供了哪些内容(API)
  5. 【JavaWeb】实现二级联动菜单
  6. [b0019] python 归纳 (五)_类装饰器
  7. pyhton【flask接口开发】
  8. 利用开源软件自建WAF系统--OpenResty+unixhot
  9. Java JDK 运行环境安装
  10. ACM-ICPC 2018 南京网络赛