java-函数式编程-jdk

news2024/11/23 18:39:17

背景

  • 函数式接口很简单,但是不是每一个函数式接口都需要我们自己来写
  • jdk 根据 有无参数,有无返回值,参数的个数和类型,返回值的类型 提前定义了一些通用的函数式接口

IntPredicate

  • 参数:有一个,类型是int类型
  • 返回值:返回值是boolean类型 所以是Predicate
    在这里插入图片描述
IntPredicate type1_1 = (int a) -> (a & 1) == 0;

@FunctionalInterface
interface MyInterface1{
    boolean   op(int arg1);
}

IntBinaryOperator

  • 参数:两个int 所以是Binary
  • 返回值:和参数一样是int 所以是Operator
IntBinaryOperator type4_1 = (int a, int b) -> a + b;
IntBinaryOperator type5_1 = (int a, int b) -> a * b;

@FunctionalInterface
interface MyInterface3{
    int op(int num1, int num2);
}

Supplier

  • 参数:无
  • 返回值:没有参数但是有返回值,所以是Supplier
 Supplier<Student> type6_2 = () -> new Student("张三", 18);
 Supplier<List<Student>> type7_2 = () -> {
     List<Student> list = new ArrayList<>();
     list.add(new Student("张三", 18));
     list.add(new Student("李四", 19));
     return list;
 };

// MyInterface5和MyInterface4是可以使用泛型合并的
@FunctionalInterface
interface MyInterface5_1<T>{
    T op() ;
}

Function

  • 有参数,也有返回值
  • 但是参数类型和返回值类型不一样,所以是Function
Function<Student,String> type8_2 = (Student student) -> student.getName();
Function<Student,Integer> type9_2 = (Student student) -> student.getage();

//MyInterface6和MyInterface7是可以使用泛型合并的
// O是返回值类型,I是入参类型
@FunctionalInterface
interface MyInterface8<I,O>{
    O op(I inObj) ;
}

常见的函数式接口

在这里插入图片描述

命名规则

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据合规官认证证书CCRC-DCO使用设计和默认数据保护处理个人数据

快来了解隐私保护工程实践&#xff01;合法原则是关键&#xff0c;一起守护数据安全&#xff01; 隐私保护工程实践需要遵循合法原则&#xff0c;控制者必须确保处理个人数据有明确的法律依据。在设计和默认数据保护中&#xff0c;相关性、差异化、特定目的、必要性和自主权是合…

中学数学重大错误:射线A沿其正向平移非0距离就变为其真子集了

黄小宁 射线A沿其射出的方向平移非0距离变为B≌A&#xff0c;中学数学一直认定B是A的一部分&#xff0c;其实这是将两异射线&#xff08;函数&#xff09;误为同一射线&#xff08;函数&#xff09;的肉眼直观错觉。设“点集A&#xff5b;点p&#xff5d;”表示A的元素是点p&a…

如何在速卖通(aliexpress)买东西?速卖通(aliexpress)买东西怎么付款?

如何在速卖通购物&#xff1a; 1、注册账户&#xff1a;首先访问速卖通官网或下载速卖通手机应用程序&#xff0c;并注册一个账户。如果您已经有一个账户&#xff0c;直接登录即可。 2、搜索商品&#xff1a;在搜索框中输入您想要购买的商品关键词&#xff0c;然后点击搜索。…

C语言趣味代码(五)

我想以此篇结束关于C语言的博客&#xff0c;因为在C语言拖得越久越不能给大家带来新的创作&#xff0c;在此我也相信大家对C语言已经有了一个新的认知。进入正题&#xff0c;在这一篇中我主要编一个“英语单词练习小程序”来给大家展开介绍&#xff0c;从测试版逐步改良&#x…

HTTP 多个版本

了解一下各个版本的HTTP。 上个世纪90年代初期&#xff0c;蒂姆伯纳斯-李&#xff08;Tim Berners-Lee&#xff09;及其 CERN的团队共同努力&#xff0c;制定了互联网的基础&#xff0c;定义了互联网的四个构建模块&#xff1a; 超文本文档格式&#xff08;HTML&#xff09; …

关于MS-DOS时代的回忆

目录 一、MS-DOS是什么&#xff1f; 二、MS-DOS的主要功能有哪些&#xff1f; 三、MS-DOS的怎么运行的&#xff1f; 四、微软开源MS-DOS源代码 五、高手与漂亮女同学 一、MS-DOS是什么&#xff1f; MS-DOS&#xff08;Microsoft Disk Operating System&#xff09;是微软公…

成功案例(IF=7.3)| 转录组+蛋白质组+代谢组联合分析分析揭示胰腺癌中TAM2相关的糖酵解和丙酮酸代谢重构

研究背景 肿瘤的进展和发展需要癌细胞的代谢重编程&#xff0c;癌细胞能量代谢模式的改变可以满足快速增殖和适应肿瘤微环境的需要。肿瘤微环境&#xff08;TME&#xff09;中的代谢状态受到多种因素的影响&#xff0c;包括血管生成、与其他细胞的相互作用和系统代谢。代谢异质…

桥接模式类图与代码

欲开发一个绘图软件&#xff0c;要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例&#xff0c;对应的绘图程序如表 7.7 所示。 根据绘图软件的扩展性要求&#xff0c;该绘图软件将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况&#xff0c;现采用桥接…

[Docker]容器的网络类型以及云计算

目录 知识梗概 1、常用命令2 2、容器的网络类型 3、云计算 4、云计算服务的几种主要模式 知识梗概 1、常用命令2 上一篇已经学了一些常用的命令&#xff0c;这里补充两个&#xff1a; 导出镜像文件&#xff1a;[rootdocker ~]# docker save -o nginx.tar nginx:laster 导…

基于SSM的农产品销售管理系统

文章目录 项目介绍一、项目功能介绍二、部分页面展示三、部分源码四、底部获取全部源码&#xff08;9.9&#xffe5;带走&#xff09; 项目介绍 农产品销售管理系统 一、项目功能介绍 一、介绍 系统分为两个角色 用户功能&#xff1a;登陆&#xff0c;注册&#xff0c;商品分…

实操专区-第11周-课堂练习专区-图的标记线和标记点

下载安装ECharts&#xff0c;完成如下样式图形。 代码和截图上传 完成 3.1.3.5 图的标记线和标记点 中的任务点 在一些折线图或柱状图当中&#xff0c;可以经常看到图中对最高值和最低值进行了标记。 在ECharts中&#xff0c;标记点&#xff08;markPoint&#xff09;常用于表示…

深入解析C#中的async和await关键字

文章目录 一、异步编程的基本概念及其在C#中的实现二、async关键字的定义及其用法三、await关键字的定义及其用法示例代码&#xff1a;使用async和await编写一个简单的异步程序 四、async和await的优点注意事项 五、C#下async和await中常见问题汇总1. 异步方法中的await调用2. …

森林消防泵:操作、购买攻略!/恒峰智慧科技

随着气候变化和人为活动的影响&#xff0c;森林火灾频繁发生&#xff0c;对生态环境和人类安全构成严重威胁。森林消防泵作为森林火灾扑救的重要设备&#xff0c;其性能和操作便捷性直接关系到灭火效果。本文将为您详细介绍森林消防泵的操作指南和购买攻略&#xff0c;助您更好…

【网站项目】戒烟网站

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【林业资质申报指南】申报林业工程调查规划设计丙级申报材料

【林业资质申报指南】申报林业工程调查规划设计丙级申报材料 申报林业工程调查规划设计丙级申报材料需要包括以下内容&#xff1a; 一、申报单位基本情况 申报单位应提供详细的单位介绍&#xff0c;包括单位名称、注册地址、法定代表人、注册资本、成立时间、经营范围等基本情况…

智慧校园的优势

数字化校园的建造给传统校园带来了生机与生机&#xff0c;数字化校园的每项设备都给学生带来了很好的体验。如不久前的开学季&#xff0c;许多校园运用校园一卡通体系&#xff0c;处理了往日人山人海的校园迎新现象&#xff0c;取而代之的是安静、有序的重生报到场景&#xff0…

Low Poly Animated Prehistoric Animals

该资源包与全球最优秀的古生物学家携手打造,以精确的形态和动画让史前动物栩栩如生。高质量上装束的低多边形动物,带有动画、惊艳的演示场景和漫游脚本:—内容— - 漫游脚本(V.4.5)可以将活的动物拖放到场景中 - 上装束的动物 - 优美的演示场景 - 支持 Mecanim - 20 种动物…

张大哥笔记:自媒体人10种赚钱方法

很多人都在做自媒体&#xff0c;比如平台广告分成、广告收入、公关宣传、品牌植入、演讲、会员制、出书、线下活动。那么本文介绍了自媒体人10种赚钱方法&#xff0c;供大家参考&#xff1a; 1、打造个人IP 什么是个人IP&#xff1f;在百度百科上是这样解释的&#xff1a;指个…

学术咸鱼入门指南(2)

巧用思维导图阅读文献 化整为零&#xff1a;读文献&#xff0c;从拆分文章的结构开始 大家在初步接触自己学科的论文时&#xff0c;要了解清楚基本的范式&#xff0c;日后读起来就比较顺了。 科研论文的第一部分&#xff0c;是文章的标题&#xff0c;摘要和关键词&#xff0…

机器学习之基于Python多种混合模型的糖尿病预测

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 糖尿病是一种慢性代谢性疾病&#xff0c;其发病率在全球范围内逐年上升&#xff0c;已成为影响人类健…