(转)JDK1.8新特性Lambda表达式
2024-08-22 22:24:58
https://www.cnblogs.com/franson-2016/p/5593080.html
Predicate
predicate接收一个变量,并返回一个boolean值,predicate接口是一个简单的比进行较运算操作的接口,但一般不使用。例如:
Predicate<String> p = (str) -> str.equls("321aiyi.com");
sysout(p.test("321aiyi.com")); //true
sysout(p.test("321aiyi.com").negate()) //false
Function
这个接口其实就是一个单纯的最简单的实现了@FunctionalInterface的接口类,一般对一个方法进行引用时,可以直接使用该接口。
Function<String, Integer> fun = String::valueOf;
String str = fun.apply(1);
Supplier
这个就更简单了,他就相当于类的Factory,用它获取任意一个带有空参构造的类。
Supplier<StringBuffer> s = StringBuffer::new;
StringBuffer sb = s.get();
Consumer
给定一个参数,并对其进行操作
Consumer<String> c = (str) -> System.out.pringln(str + "~~~");
c.accept("woca"); //"woca~~~"
另外,还有好多之前的接口也做了对lambda的支持,比如之前所说的Comparator接口等等,这里就不一一诉说了,喜欢钻研的朋友们可以拔源码或者阅读相关文档慢慢看。
最新文章
- 如何用PowerShell列出你机器上的.NET Framework的版本号和SP服务补丁
- CSS布局(下)
- Ue4 Shader博客
- jsnop
- 【hibernate】<;第一节>;hibernate简单入门
- 【C#学习笔记】类构造函数使用
- mysql违背了唯一约束
- delphi 立即显示提示
- android访问asset目录下的资源
- SAR ADC简介
- WinForm笔记一:文本框只允许输入数字
- ContextMenu控件引用以及不用v4包的方法
- 如何用vue-cli初始化一个vue项目
- MySQL实战45讲学习笔记:事务隔离级别(第三讲)
- 用python计算圆周率PI
- line-height 设置为 1
- Web API 方法的返回类型、格式器、过滤器
- 随机重拍与抽样(random_shuffle,random_sample,random_sample_n)
- springboot-28-security(一)用户角色控制
- 在学习使用webpack中遇到的错误