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