java编程的简化表达方法——Lambda表达式及方法引用概述

前言:

学到简化写法了,感觉需要对代码非常熟悉才能用得好,整理下写法。打好基础,daydayup!

 Lambda表达式

Lambda表达式是JDK8开始新增得一种语法形式;作用:用于简化匿名内部类的代码写法。

Lambda表达式的格式:

(被重写方法的形参列表)->{
   被重写方法的方法体代码。
}

注:Lambda表达式只能简化函数式接口的匿名内部类。不能简化类方法。

 什么是函数式接口

有且仅有一个抽象方法的接口;有@Functionallnterface注解的接口,必定是函数式接口

 Lambda表达式的省略规则:

1,参数类型可以省略不写;

2,如果只有一个参数,参数类型可以省略,同时()也可以省略;

3,如果Lambda表达式中的方法体代码只有一行代码,可以省略大括号不写,同时要省略分号!此时,如果这行代码是return 语句,也必须去掉return 不写;

 例1:

 

 例2:

 方法引用

方法引用为进一步简化Lambda表达式

静态方法的引用:

静态方法简化格式:

类名::静态方法

 使用场景:

如果某个Lambda表达式里只是调用一个静态方法,并且前后参数的形式一致,就可以使用静态方法引用

例:创建类ComparatorDate,并创建静态方法CompartorAge,调用后,写出标准写法和简化写法

 实例方法的引用:

实例方法简化格式:

对象名::实例方法

使用场景: 

如果某个Lambda表达式里只是调用一个实例方法,并且前后参数的形式一致,就可以使用实例方法引用

 例:创建类ComparatorDate,并创建实例方法CompartorAge2,写出调用的标准写法和简化写法

 特定类型的方法引用

特定类型的方法简化格式:

类型::方法

 使用场景:

如果某个Lambda表达式里只是调用一个实例方法,并且前面参数列表中的第一个参数是作为方法的主调,后面的所有参数都是作为该实例方法的入参的,则此时就可以使用特定类型的方法引用

 例:

 构造器引用

构造器简化格式:

 类名::new

  使用场景:

如果某个Lambda表达式里只是在创建对象,并且前后参数情况一致,就可以使用构造器引用

例: 

总结: 

简化代码虽然可以看上去更加简单,但并不需要刻意去使用。在熟练掌握代码之前,使用标准写法即可

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

汉服文化平台网站|基于SSM 框架+vue+ Mysql+Java+B/S架构技术的汉服文化平台网站设计与实现(可运行源码+数据库+设计文档+部署说明+视频演示)

目录 系统详细设计 前台首页功能模块 管理员功能 用户功能 系统结构设计 数据库设计 摘 要 研究内容 文末获取源码 系统详细设计 前台首页功能模块 管理员功能 用户功能 系统结构设计 数据库设计 论文参考 摘 要 本论文主要论述了如何使用JAVA语言开发一个汉服文化平台…

前端 css 实现标签的效果

效果如下图 直接上代码&#xff1a; <div class"label-child">NEW</div> // css样式 // 父元素 class .border-radius { position: relative; overflow: hidden; } .label-child { position: absolute; width: 150rpx; height: 27rpx; text-align: cente…

支持多平台,无需GPU!仅需8G内存即可部署运行大模型

随着ai技术不断发展&#xff0c;一直想本地运行一个大模型玩玩&#xff0c;奈何GPU价格不低...... 最近找到一款只需要8G内存即可运行的大模型&#xff0c;速度还挺快&#xff0c;特别分享出来。 本地安装前提 内存 8G 安装运行简要概述 首先运行服务端然后运出客户端即可本地…

06 - 镜像管理之:基础知识

1 了解镜像 Docker镜像是一个特殊的文件系统&#xff0c;除了提供容器运行时所需的程序、库、资源、配置等文件外&#xff0c;还包含了一些为运行时准备的一些配置参数&#xff08;如匿名卷、环境变量、用户等&#xff09;。 但注意&#xff0c; 镜像不包含任何动态数据&#…

Operator开发

概述 基于k8s做扩展的时候&#xff0c;一种典型方式则是 operator 开发&#xff0c;通过 CRD(CustomResourceDefinition) 来定义自定义资源&#xff0c;开发对应的 controller 来做业务控制&#xff0c;以期实现特定的业务需求。那么其本质是什么&#xff1f;是事件驱动。与我…

图像超分辨率:Fast Nearest Convolution for Real-Time Efficient Image Super-Resolution

9.Fast Nearest Convolution for Real-Time Efficient Image Super-Resolution 提出一种适用移动端的超分网络 一些tensor op 的推理时间 一些卷积结构的推理时间 网络结构NCNet 主干网络预测的是 残差&#xff0c;什么的残差&#xff1f; 是最近邻插值图像与 ground-truth的…

基于springboot+vue的疫苗发布和接种预约系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

时间复杂度考点总结

【2022统考真题】下列程序段的时间复杂度是( )。 int sum0; for(int il;i<n;i*2) for(int j0;j<i;j) sum; 这道题容易错选为C,正确答案是B 解答&#xff1a;i1时循环1次&#xff0c;i2时循环2次&#xff0c;i4时循环4次&#xff0c;所以循环次数…

Premiere快速闪光特效视频转场Pr项目模板视频剪辑素材

Premiere转场模板&#xff0c;包含15种快速闪光特效视频转场过渡效果PR项目模板视频剪辑素材&#xff0c;动态效果与动画纹理的组合方式。包含视频教程。提供4K和HD两种版本。来自PR模板网&#xff0c;下载地址&#xff1a;https://prmuban.com/38081.html

微信小程序-4

自定义组件 创建组件 在项目的根目录中&#xff0c;创建 components 文件夹&#xff0c;在里面编写我们的自定义主键&#xff0c;如下所示&#xff1a; 引用组件 局部引用&#xff1a; index.json // 在页面的 .json 文件中&#xff0c;引入组件 {"usingComponents&q…

区间合并(超详细逐步讲解/例题/思路分析/参考代码)

区间合并超详解 区间合并是什么&#xff1f;例1问题描述输入输出数据规模输入输出思路分析代码 例2问题描述输入输出数据规模输入输出思路分析代码 例3问题描述输入输出输入输出思路分析代码 例4问题描述输入输出输入输出参考代码 区间合并是什么&#xff1f; 我们要了解区间合…

下载中心-异步下载

下载中心 文章目录 下载中心一. 概要二. 实现逻辑 下载中心一. 概要二. 实现逻辑三. 主要代码逻辑1.生成任务2.消费任务3.查询方法是如何存入内存中的4.DCGenerateComponent 反射调用查询数据方法 总结 一. 概要 功能概览&#xff1a;将文件下载修改为异步下载&#xff0c;引入…

Ubuntu18.04安装RTX2060显卡驱动+CUDA+cuDNN

Ubuntu18.04安装RTX2060显卡驱动CUDAcuDNN 1 安装RTX2060显卡驱动1.1 查看当前显卡是否被识别1.2 安装驱动依赖1.3 安装桌面显示管理器1.4 下载显卡驱动1.5 禁用nouveau1.6 安装驱动1.7 查看驱动安装情况 2 安装CUDA2.1 查看当前显卡支持的CUDA版本2.2 下载CUDA Toolkit2.3 安装…

1.4 Word2Vec是如何工作的? Word2Vec与LDA 的区别和联系?

1.4 Word2Vec&#xff1a;词嵌入模型之一 场景描述 谷歌2013年提出的Word2Vec是目前最常用的词嵌入模型之一。 Word2Vec实际是一种浅层的神经网络模型,它有两种网络结构&#xff0c;分别是CBOW(Continues Bag of Words)和Skip-gram。 知识点 Word2Vec,隐狄利克雷模型(LDA),…

软件测试之接口测试

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1. 什么是接口测试 顾名思义&#xff0c;接口测试是对系统或组…

通信网优岗位真实面经分享!

春招来临&#xff0c;不少网优人已经踏上了面试的征程。网优面试具体涉及哪些环节&#xff1f;主要问题有哪些&#xff1f; 本文收集并整理已经获得高薪offer的优橙学员的相关简历&#xff0c;为正在投递网优岗位的你提供经验&#xff0c;也希望网优人能早日找到满意工作。 通信…

uniapp 滑动页面至某个元素或顶部

直接上代码&#xff1a; uni.pageScrollTo({selector: #top, // 需要返回顶部的元素id或class名称duration: 300 // 过渡时间&#xff08;单位为ms&#xff09; }); 官方文档&#xff1a;

计及电池储能寿命损耗的微电网经济调度(matlab代码)

目录 1 主要内容 储能寿命模型 负荷需求响应 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《考虑寿命损耗的微网电池储能容量优化配置》模型&#xff0c;以购售电成本、燃料成本和储能寿命损耗成本三者之和为目标函数&#xff0c;创新考虑储能寿命损耗约…

【C++进阶】用哈希表封装unordered_set和unordered_map

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…

算法:滑动窗口

文章目录 例题1&#xff1a;长度最小的子数组例题2&#xff1a;无重复字符的最长子串例题3&#xff1a;最大连续1的个数 III例题4&#xff1a;将 x 减到 0 的最小操作数例题5&#xff1a;水果成篮例题6&#xff1a;找到字符串中所有字母异位词例题7&#xff1a;串联所有单词的子…