JDK8新特性:Lambda表达式规则及用法,方法引用

目录

Lambda表达式是JDK8新增的一种语法格式

1.作用

2.用法规则:

3.方法引用


Lambda表达式是JDK8新增的一种语法格式

1.作用

简化匿名内部类的代码写法

Lambad用法前提:只能简化函数式接口(一般加有@Funcationallnterface)(有且仅有一个抽象方法@)的匿名内部类

匿名内部类:(本质是对象名的子类对象)    : 

                  对象名 a = new 对象名(){                

                                   @Override                

                                     public void 方法名(){                    

                                      内容              

                                      }              

                                };          

2.用法规则:

Lambda表达式的省略写法(进一步简化Lambda表达式的写法)

1.参数类型可以省略不写

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

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

格式:(被重写方法的形参列表)->{

             被重写方法的方法体代码

            }

最终简化: 

对象名 a =() ->{
    return  内容
});

最终简化

一个参数下:(对象名,o1 ->内容);

两个参数下:(对象名,(o1,o2) ->内容);

3.方法引用

作用:进一步简化Lambda表达式

标志性符号  ::

1.静态方法(static修饰)的引用:只调用一个静态方法,并且前后参数的形式一致

类名 :: 静态方法

2.实例方法的引用:只调用一个实例方法,并且前后参数的形式一致

对象名 ::实例方法

3.特定类型方法的引用:只调用一个实例方法,并且前面参数列表中的第一个参数是作为方法的主调,后面的所有参数都是作为该实例方法的入参的

类型 ::方法

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

类名 ::new

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二维码智慧门牌管理系统:优化车位管理体验

文章目录 前言一、规范信息记录:提升管理效率二、优化产权管理:智能化信息记录三、智能化车位管理:提升效率与便捷性四、未来展望:持续升级与智能化发展 前言 城市车位管理挑战 随着城市化的推进,车位紧缺问题日益突出…

postgresql安装部署(docker版本)

1.在线部署 创建数据库存储目录 mkdir /home/pgdata创建容器 docker run --name postgresql --restartalways -d -p 5432:5432 -v /home/pgdata:/var/lib/postgresql/data --shm-size10g -e POSTGRES_PASSWORD密码 postgis/postgis:12-3.2-alpine–name为设置容器名称 -d表…

ArkTs基础语法一

1、条件渲染 Column() {if (this.count > 0) {Text(count is positive)} }2、循环渲染 ForEach(arr: any[], // 用于迭代的数组itemGenerator: (item: any, index?: number) > void, // 生成子组件的lambda函数keyGenerator?: (item: any, index?: number) > str…

大数据技术7:StarRocks极速全场景MPP数据库

前言:StarRocks原名DorisDB,是新一代极速全场景MPP数据库。StarRocks 是 Apache Doris 的 Fork 版本。StarRocks 连接的多种源。一是通过这个 CDC 或者说通过这个 ETL 的方式去灌到这个 StarRocks 里面;二是还可以去直接的和这些老的 kafka 或…

分布式事务Seata(别名Seta)(持续学习中)

1.为什么学习他? 当一台机器的时候,只需要本地事务回滚就好了,还有MonogoDB最好不要放敏感数据,特别是旧的版本,没有事务功能(ACID), 分布式事务,也是属于多线程问题,就是把多台机器变成一台机器(他拥有更多线程,但是也要考虑网络问题),redis在一台机器是单线程的,但是多台机器…

AI 绘画 | Stable Diffusion 艺术二维码制作

前言 这篇文章教会你如果用Stable Diffusion WEB UI制作艺术二维码,什么是艺术二维码呢?就是普通二维码和艺术图片融合后的二维码图片,如下图所示。主要原理还是使用controlNet的control_v1p_sd15_qrcode_monster模型和光影模型control_v1p_sd15_brightness。 教程 准备…

Java IO流(四)(Autocloseable接口)

Autocloseable接口 实现Autocloseable的IO类在特定的情况下,可以自动释放资源。 JDK7时的写法: import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;public class ByteStreamDemoJDK7 {public static void…

一文带你了解Linux学习网站:让你的编程之路更加顺畅!

介绍:Linux,通常指的是GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统。这个系统的核心由林纳斯本纳第克特托瓦兹(Linus Benedict Torvalds)在1991年首次发布。Linux是基于POSIX和UNIX的多用户、多任务、支持多线…

AMC8竞赛历年真题集在线练习和解析,新增一套适合碎片时间练习卷

根据部分家长和孩子反馈,六分成长独家制作的AMC8历年在线真题集的在线试卷新增一套:每次从575道真题题库中抽取5道。更好地利用碎片化时间来做题,查漏补缺,了解AMC8竞赛的题目形式和考察知识点。 新试卷已经上线,之前拥…

洛谷P1287 盒子与球

题干&#xff1a; 现有 r 个互不相同的盒子和 n 个互不相同的球&#xff0c;要将这 n 个球放入 r 个盒子中&#xff0c;且不允许有空盒子。请求出有多少种不同的放法。 两种放法不同当且仅当存在一个球使得该球在两种放法中放入了不同的盒子。 数据范围&#xff1a; 0<n,r&l…

堆的相关时间复杂度计算(C语言)

目录 前言 建堆的时间复杂度 向上调整建堆的时间复杂度 向下调整建堆的时间复杂度 维护堆的时间复杂度 top K问题的时间复杂度 前言 在前面的三篇文章中我们成功的实现了堆排序的升降序以及基于堆的top K问题&#xff0c;现在我们来解决它们的时间复杂度问题 建堆的时间…

我有才专属定制适合个人的知识付费平台,打造个性化品牌与自主管理体验

在当今数字化时代&#xff0c;知识付费平台已经成为人们获取专业知识、提升自身素质的重要渠道。然而&#xff0c;公共知识付费平台虽然内容丰富&#xff0c;但难以满足个人或企业个性化的需求和品牌打造。因此&#xff0c;我们提出了专属定制适合个人的知识付费平台的概念&…