java lambda 表达式中的双冒号和箭头的用法

简介: java lambda 表达式中的双冒号和箭头的用法

先构造一些数据,创建一个User类

java lambda 表达式中的双冒号的用法 ::

双冒号运算就是Java中的[方法引用],[方法引用]的格式是


类名::方法名


如下图所示


User是一个类, getAge是方法名,注意是方法名呀,后面没有括号()的。为什么不要括号,因为这样的是式子并不代表一定会调用这个方法。这种式子一般是用作Lambda表达式,Lambda有所谓懒加载嘛,不要括号就是说,看情况调用方法。

可以替换成,如下图

e -> e.getAge()

User -> User.getAge()

这种[方法引用]或者说[双冒号运算]对应的参数类型是Function<T,R> T表示传入类型,R表示返回类型。比如表达式User.getAge(); 传入参数是User,返回值是User.getAge(),那么方法引用User::getAge就对应着Function<User,Integer>类型。


如下图:


相关文章
|
6天前
|
数据采集 数据可视化 安全
最详细Java正则表达式详解
本文系统讲解Java正则表达式核心语法、API用法及性能优化技巧,结合代码示例与实战场景,助你掌握文本处理利器,提升开发效率。
73 0
|
28天前
|
Java 编译器 API
Java Lambda表达式与函数式编程入门
Lambda表达式是Java 8引入的重要特性,简化了函数式编程的实现方式。它通过简洁的语法替代传统的匿名内部类,使代码更清晰、易读。本文深入讲解Lambda表达式的基本语法、函数式接口、方法引用等核心概念,并结合集合操作、线程处理、事件回调等实战案例,帮助开发者掌握现代Java编程技巧。同时,还解析了面试中高频出现的相关问题,助你深入理解其原理与应用场景。
|
30天前
|
安全 Java API
Java中的Lambda表达式:简洁与功能的结合
Java中的Lambda表达式:简洁与功能的结合
331 211
|
30天前
|
安全 Java
Java中的Switch表达式:更简洁的多路分支
Java中的Switch表达式:更简洁的多路分支
377 211
|
1月前
|
Java 编译器
Java 17 Switch表达式:更简洁、更强大的流程控制
Java 17 Switch表达式:更简洁、更强大的流程控制
|
6天前
|
数据采集 存储 弹性计算
高并发Java爬虫的瓶颈分析与动态线程优化方案
高并发Java爬虫的瓶颈分析与动态线程优化方案
Java 数据库 Spring
41 0
|
18天前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
49 16
|
27天前
|
缓存 并行计算 安全
关于Java多线程详解
本文深入讲解Java多线程编程,涵盖基础概念、线程创建与管理、同步机制、并发工具类、线程池、线程安全集合、实战案例及常见问题解决方案,助你掌握高性能并发编程技巧,应对多线程开发中的挑战。