当前位置: 首页 > news >正文

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.lryc.cn/news/256925.html

相关文章:

  • 【GIS】JDK版本升级到17后,GeoServer的图层无法通过openLayer预览
  • vue 批量下载文件,不走后端接口的方法
  • 科技云报道:AI+PaaS,中国云计算市场迎来新“变量”?
  • Windows Service Name重复问题
  • BBS项目
  • Java基础——对象类型转换(向上、向下转型)
  • 期末速成数据库极简版【查询】(2)
  • 2023年终总结-轻舟已过万重山
  • 手机号,邮箱,密码,验证码正则表达式[Java]
  • 普冉(PUYA)单片机开发笔记(7): ADC-轮询式多路采样
  • uniapp切换页面时报错问题
  • Nginx 简单入门操作
  • ChatGPT是科学还是艺术?
  • 线程及实现方式
  • 2023年11月10日 Go生态洞察:十四年Go的成长之路
  • OpenSSL 编程指南
  • js优化技巧
  • 深入探索 Java 反射机制
  • 【ArcGIS Pro微课1000例】0054:Pro3.0创建数据库(文件数据库、移动数据库、企业级数据库)解读
  • 【漏洞复现】华脉智联指挥调度平台命令执行漏洞
  • leetcode第119场双周赛 - 2023 - 12 - 9
  • 05. 函数式编程
  • Linux权限(用户角色+文件权限属性)
  • 短波红外相机的原理及应用场景
  • 【PyTorch】softmax回归
  • 12.8 作业 C++
  • 10.机器人系统仿真(urdf集成gazebo、rviz)
  • 城市基础设施智慧路灯改造的特点
  • 配置BFD多跳检测示例
  • 爬虫学习-基础库的使用(requests)