Lombda表达式(四)
/*
* 自定义函数式接口:
* 1、声明一个接口,只能包含一个抽象方法
* 2、给这个接口加@FunctionalInterface
*/
public class Test {
public static void main(String[] args) {
//IntCalc tools形参,函数式接口,可以Lambda表达式赋值
/*
* (1)抽象方法:int cal(int a , int b);
* (2)如何实现抽象方法
* 例如:求a+b的和
*/
getProduct(1,2, (int a , int b) -> {return a+b;});//new了一个IntCalc的实现类的对象,而且实现了IntCalc抽象方法 getProduct(1,2, (a ,b) ->a*b);
} //2、在测试类中定义public static void getProduct(int a , int b ,IntCalc tools),
//该方法的预期行为打印使用tools的cal(a,b)的计算结果
public static void getProduct(int a , int b ,IntCalc tools){
int result = tools.cal(a, b);
System.out.println("结果:" + result);
}
}
//1、定义一个函数式接口IntCalc,其中抽象方法int cal(int a , int b),使用注解@FunctionalInterface
@FunctionalInterface
interface IntCalc{
int cal(int a , int b);
}
public class Test05 {
public static void main(String[] args) {
test01();
}
public static void test01() {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
/*
* default void forEach(Consumer<? super T> action)
* 形参的类型是Consumer接口,可以使用Lambda表达式赋值
* Consumer<T> void accept(T t)
*
*/
list.forEach(num -> System.out.println(num));
}
/*
源代码
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
*/
}
Lombda表达式(四)的更多相关文章
- Lombda表达式(五)
public class Test05 { /* * lambda表达式是用来简化匿名内部类的一种函数式编程的语法. * 只有SAM接口才能使用lambda表达式 * 方法引用和构造器引用是用来简化l ...
- EL表达式的特性
一.EL(Expression Language)表达式语言一.作用:从作用域中取值,再将值显示给客户 二.目的:在JSP中消灭java代码 三.使用:<%@ page isELIgnored= ...
- python之三元表达式、列表推导、生成器表达式、递归、匿名函数、内置函数
目录 一 三元表达式 二 列表推到 三 生成器表达式 四 递归 五 匿名函数 六 内置函数 一.三元表达式 def max(x,y): return x if x>y else y print( ...
- yield表达式形式
首先了解 1.iterator iterator叫做迭代器,用来遍历可以序列化的数据,比如一个list,set 等,当然如果对象想要能够使用迭代器来遍历,只要在该对象的类中添加__iter__()方法 ...
- LINQ教程三:Lambda表达式解剖
C#3.0(.NET3.5)中引入了Lambda表达式和LINQ.Lambda表达式是使用一些特殊语法表示匿名方法的较短方法. 最基本的Lambda表达式语法如下: (参数列表)=>{方法体} ...
- 12-spring学习-基本表达式
基本表达式 一,字面表达式 二,数学表达式 三,关系表达式 四,字符串表达式 String类中所有操作方法都是开发过程中最常用的. 五,正则表达式
- (7)python 函数和lambda表达式
一.函数定义和调用 1.定义函数用def 2.函数注释 在函数体里的开头写上字符串,可以起到说明的作用 可以用函数名.__doc__的方式读取在函数开头加的字符串(双下划线) 内建的help()函数也 ...
- javaScript基础-02 javascript表达式和运算符
一.原始表达式 原始表达式是表达式的最小单位,不再包含其他表达式,包含常量,直接量,关键字和变量. 二.对象和数组的初始化表达式 对象和数组初始化表达式实际上是一个新创建的对象和数组. 三.函数表达式 ...
- vue简介,插值表达式,过滤器
目录 VUE框架介绍 what?什么是vue? why?为什么要学习vue? special特点? how如何使用? 下载安装? 导入方式? 挂在点el 插值表达式 delimiters自定义插值表达 ...
随机推荐
- bash运行脚本的几种方式
转载自https://www.jianshu.com/p/ba6efda13e23 转载地址:http://www.jquerycn.cn/a_8354 bash shell 脚本执行的方法有多种,本 ...
- 一文读懂MySQL的索引结构及查询优化
回顾前文: 一文学会MySQL的explain工具 (同时再次强调,这几篇关于MySQL的探究都是基于5.7版本,相关总结与结论不一定适用于其他版本) MySQL官方文档中(https://dev.m ...
- 趣图:大佬如何解决bug的
Bug 变 Feature, 这招简直太帅了! 扩展阅读 趣图:我说自己菜 vs 大佬说自己菜 趣图:公司实习生找 Bug 趣图:国内一些大平台的推荐算法 趣图:开发和测试是如何对待代码的 趣图: ...
- 有关java反射的几个小方法的作用和区别
1.Class类中 getXXX()和getDeclaredXXX()的作用和区别: 前者获取某个类的所有公共(public)的字段(or方法or构造函数),包括父类.后者获取所有的字段(or方法or ...
- 分享一些比较好用的(免费)网站及推荐理由 SMARK
分享一些比较好用的(免费)网站及推荐理由 --By SMARK 资源类 这里面是一些有供下载的资源的网站等 视频 片库 内容怎么样有待考证 蓝光网 看着还行, 打赏收入 预告片世界 还行, 收入有待考 ...
- 票房和口碑称霸国庆档,用 Python 爬取猫眼评论区看看电影《我和我的家乡》到底有多牛
今年的国庆档电影市场的表现还是比较强势的,两名主力<我和我的家乡>和<姜子牙>起到了很好的带头作用. <姜子牙>首日破 2 亿,一举刷新由<哪吒之魔童降世&g ...
- Arduino 串行外设接口(SPI)
时间有限有其他项目工作在忙,感觉作者写的不错,就先记录下来了. 这几天用SPI--Arduino 在供应商的电子原件上游离游走,重要的是可以读写了, 下面是在查资料看到的一篇不错的文章关于用Ardui ...
- farbic-sdk-java 学习部署
准备工作 1.fabric基础网络环境 2.环境准备(jdk环境.maven环境) 3.启动fabric测试网络 4.在idea中测试java-sdk 1.fabric环境准备 1.fabric基础环 ...
- 腾讯云服务器,使用xshell ssh秘钥登录的时候报错:所选的用户密钥未在远程主机上注册
1.背景 新买了台腾讯云服务器,在腾讯云控制台新建了SSH私钥,然后下载到本地. 在本地使用xshell工具,导入下载好的私钥进行登录,报错:所选的用户密钥未在远程主机上注册 2.解决方案 在确定选择 ...
- 【基线检查】(高)基线检查--禁用local-infile选项(访问控制)
(高)基线检查--禁用local-infile选项(访问控制) 描述 禁用local_infile选项会降低攻击者通过SQL注入漏洞器读取敏感文件的能力 检查提示 -- 加固建议 编辑Mysql配置文 ...