【Java从入门到头秃专栏 7】语法篇(六) :Lambda表达式(->) 方法引用(::) stream流(一)

简介: 【Java从入门到头秃专栏 7】语法篇(六) :Lambda表达式(->) 方法引用(::) stream流(一)

1 Lambda表达式( -> )

   Lambda表达式的作用就是为了简化函数式接口的匿名内部类的一种代码写法,函数式接口就是内部只有一个抽象方法的接口,函数式接口会使用@FunctionalInterface注解标明,Lambda表达式的格式如下:


(匿名内部类被重写方法的形参列表)  ->{


   被重写方法的方法体;


}


实现Runnable接口创建线程的Lambda写法

image.png

如果重写方法的方法体只有一行代码,同时省略大括号和分号不写,如果这行代码是个return语句的话还要省略return不写

形参列表的参数类型也可省略不写

如果只有一个参数的话可以同时省略参数类型和小括号

实现Runnable接口创建线程的Lambda写法

image.png



collections排序的Lambda写法

image.png


2 方法引用( :: )

   方法引用是为了进一步的简化Lambda表达式的写法,主要有以下四种引用形式:静态方法的引用、实例方法的引用、特定类型方法的引用、构造器的引用


静态方法的引用



⚠  被引用静态方法的参数列表要和函数式接口中抽象方法的参数列表保持一致


类名::静态方法名

image.png

 


实例方法的引用


⚠  被引用实例方法的参数列表要和函数式接口中抽象方法的参数列表保持一致


对象名::实例方法名

image.png



最经典的实例方法就是输出语句

image.png

 


特定类型方法的引用

⚠  被引用方法的参数列表中的第一个参数作为后面返回语句中方法的调用者


调用者的类型::方法


image.png


构造器的引用


⚠  返回值是使用一个构造器创建对象


构造器::new


image.png

相关文章
|
11天前
|
数据采集 数据可视化 安全
最详细Java正则表达式详解
本文系统讲解Java正则表达式核心语法、API用法及性能优化技巧,结合代码示例与实战场景,助你掌握文本处理利器,提升开发效率。
195 0
|
1月前
|
Java 编译器 API
Java Lambda表达式与函数式编程入门
Lambda表达式是Java 8引入的重要特性,简化了函数式编程的实现方式。它通过简洁的语法替代传统的匿名内部类,使代码更清晰、易读。本文深入讲解Lambda表达式的基本语法、函数式接口、方法引用等核心概念,并结合集合操作、线程处理、事件回调等实战案例,帮助开发者掌握现代Java编程技巧。同时,还解析了面试中高频出现的相关问题,助你深入理解其原理与应用场景。
|
1月前
|
安全 Java API
Java中的Lambda表达式:简洁与功能的结合
Java中的Lambda表达式:简洁与功能的结合
349 211
|
1月前
|
安全 Java
Java中的Switch表达式:更简洁的多路分支
Java中的Switch表达式:更简洁的多路分支
400 211
|
1月前
|
Java 编译器
Java 17 Switch表达式:更简洁、更强大的流程控制
Java 17 Switch表达式:更简洁、更强大的流程控制
|
1月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
191 46
|
Java
QuartZ Cron表达式在java定时框架中的应用
CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。 CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。
1171 0
|
11天前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
46 0