Java基础——java8+新特性——方法引用(::)
1. 什么是方法引用?
-
定义:Java 8 引入的语法糖,用于 简化 Lambda 表达式,直接引用已有的方法。
-
符号:使用
::双冒号操作符。 -
本质:将方法作为函数式接口的实例传。
2. 方法引用的四种类型
| 类型 | 语法 |
|---|---|
| 静态方法引用 | Class::static_method |
| 特定对象的实例方法引用 | Class::method |
| 实例方法引用 | instance::method |
| 构造方法引用 | Class::new |
3.方法引用示例
//1.静态方法引用List<Integer> numbers = Arrays.asList(1, 3, 2, 5, 4);// 使用 Lambda 表达式Stream<Integer> sortedInLambda = numbers.stream().sorted((a, b) -> Integer.compare(a, b));System.out.println(sortedInLambda);// 使用方法引用Stream<Integer> sorted = numbers.stream().sorted(Integer::compare);System.out.println(sorted.collect(Collectors.toList())); //[1, 2, 3, 4, 5]//2.特定对象的实例方法引用List<String> names = Arrays.asList("Alice", "Bob", "Charlie");// 使用 Lambda 表达式names.forEach(s -> System.out.println(s));// 使用方法引用names.forEach(System.out::println);//4.构造方法引用// 使用 Lambda 表达式Supplier<List<String>> supplier1 = () -> new ArrayList<>();// 使用方法引用Supplier<List<String>> supplier2 = ArrayList::new;
3实例方法引用
class Printer {// 实例方法public void printMessage(String message) {System.out.println(message);}
}public class MethodReferenceExample {public static void main(String[] args) {Printer printer = new Printer();// 使用实例方法引用Runnable r = printer::printMessage;r.run(); // 输出 null,因为没有传递参数}
}
4. 方法引用的优势
-
简化 Lambda 表达式,提升代码简洁性。
-
直接引用已有方法,意图清晰,支持静态方法、实例方法、构造方法的引用。
-
与函数式接口(如
Consumer、Supplier)紧密结合。 -
合理使用可提升代码的可维护性和可读性。
5.参考
Java 8 方法引用 | 菜鸟教程
......
相关文章:
Java基础——java8+新特性——方法引用(::)
1. 什么是方法引用? 定义:Java 8 引入的语法糖,用于 简化 Lambda 表达式,直接引用已有的方法。 符号:使用 :: 双冒号操作符。 本质:将方法作为函数式接口的实例传。 2. 方法引用的四种类型 类型 语法 …...
基于SpringBoot的商城管理系统(源码+部署教程)
运行环境 数据库:MySql 编译器:Intellij IDEA 前端运行环境:node.js v12.13.0 JAVA版本:JDK 1.8 主要功能 基于Springboot的商城管理系统包含管理端和用户端两个部分,主要功能有: 管理端 首页商品列…...
uniapp实现的个人中心页面(仿小红书)
采用 uniapp 实现的一款仿小红书个人中心页面模板,支持vue2、vue3, 同时适配H5、小程序等多端多应用。 简约美观大方 可到插件市场下载尝试: https://ext.dcloud.net.cn/plugin?id22516 示例...
K8s面试题总结(十一)
1.如何优化docker镜像的大小? 使用多阶段构建(multi-stage build)选择更小的基础镜像(如alpine)减少镜像层数,合并RUN命令 2.请解释Docker中的网络模式(如bridge,host,none) Bridgeÿ…...
用CMake编译glfw进行OpenGL配置,在Visual Studio上运行
Visual Studio的下载 Visual Studio 2022 C 编程环境 GLFW库安装 GLFW官网地址 GLFW官网地址:https://www.glfw.org下载相应版本,如下图: CMake软件进行编译安装 下载CMake 下载的如果是源码包,需要下载CMake软件进行编译安装…...
仿12306项目(4)
基本预定车票功能的开发 对于乘客购票来说,需要有每一个车次的余票信息,展示给乘客,供乘客选择,因此首个功能是余票的初始化,之后是余票查询,这两个都是控台端。对于会员端的购票,需要有余票查询…...
【GPT入门】第9课 思维树概念与原理
【GPT入门】第9课 思维树概念与原理 1.思维树概念与原理2. 算24游戏的方法 1.思维树概念与原理 思维树(Tree of Thought,ToT )是一种大模型推理框架,旨在解决更加复杂的多步骤推理任务,让大模型能够探索多种可能的解决…...
uniapp登录用户名在其他页面都能响应
使用全局变量 1、在APP.vue中定义一个全局变量,然后在需要的地方引用它; <script>export default {onLaunch: function() {console.log(App Launch)this.globalData { userInfo: {} };},onShow: function() {console.log(App Show)},onHide: fu…...
一周热点-OpenAI 推出了 GPT-4.5,这可能是其最后一个非推理模型
在人工智能领域,大型语言模型一直是研究的热点。OpenAI 的 GPT 系列模型在自然语言处理方面取得了显著成就。GPT-4.5 是 OpenAI 在这一领域的又一力作,它在多个方面进行了升级和优化。 1 新模型的出现 GPT-4.5 目前作为研究预览版发布。与 OpenAI 最近的 o1 和 o3 模型不同,…...
Linux基础--用户管理
目录 查看用户 使用命令: id 创建用户 使用命令: useradd 编辑 为用户设置密码 使用命令: passwd 编辑 删除用户 使用命令: userdel 创建用户组 使用命令: groupadd 删除用户组 使用命令: groupdel 用户设置 使用命令: usermod 将用户从组中去除 使用…...
软件测试的基础入门(二)
文章目录 一、软件(开发)的生命周期什么是生命周期软件(开发)的生命周期需求分析计划设计编码测试运行维护 二、常见的开发模型瀑布模型流程优点缺点适应的场景 螺旋模型流程优点缺点适应的场景 增量模型和迭代模型流程适应的场景…...
【SpringMVC】深入解析@ RequestMapping 注解的概念及使用和 MVC 介绍
Spring Web MVC入门 1. Spring Web MVC 什么是 Spring Web MVC? MVC官方文档介绍 Spring Web MVC是Spring框架中的一个用来做网站开发的部分,它是基于Servlet技术的。 虽然它的正式名字叫“Spring Web MVC”,但大家一般都简称它“SpringMVC”…...
YOLOv8 自定义目标检测
一、引言 YOLOv8 不仅支持预训练模型的推理,还允许用户将其应用于自定义对象检测。本文将详细介绍如何使用 YOLOv8 训练一个新的模型,并在自定义数据集上进行对象检测。 二、数据集准备 1. 数据集格式 YOLOv8 支持多种数据集格式,包括 CO…...
抓包分析工具介绍
什么是抓包分析工具? 抓包分析工具,也称为网络数据包嗅探器或协议分析器,用于捕获和检查网络上传输的数据包。这些数据包包含了网络通信的详细信息,例如请求的资源、服务器的响应、HTTP 头信息、传输的数据内容等等。通过分析这些…...
计算机毕业设计SpringBoot+Vue.js爱心捐赠项目推荐系统 慈善大数据(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
Python----数据分析(Matplotlib四:Figure的用法,创建Figure对象,常用的Figure对象的方法)
一、Figure的用法 在 Matplotlib 中, Figure对象是整个绘图的顶级容器,它是所有绘图元素的基础, 提供了一个用于绘制图形的画布空间。 在 Matplotlib 中, Axes对象是进行数据绘制和设置坐标轴等操作的核心区域,它与 Fi…...
CameraX学习2-关于录像、慢动作录像
CameraX实现录像 首先在起预览时就要配置录像usecase,对于cameraX来说就是绑定录像usecase到lifecycle。如下。 1,创建Recorder对象,是与 VideoCapture 紧密耦合的 VideoOutput 实现。Recorder可以用来配置录像的分辨率、比例等,还…...
Java链接redis
一、准备工作就像谈恋爱 首先咱们得来点仪式感是不是?打开你的Maven(Gradle玩家别打我),把这两个宝贝依赖给我焊死在pom.xml里: <!-- 经典永不过时的Jedis --> <dependency> <groupId>redis.cli…...
2025最新群智能优化算法:基于RRT的优化器(RRT-based Optimizer,RRTO)求解23个经典函数测试集,MATLAB
一、基于RRT的优化器 基于RRT的优化器(RRT-based Optimizer,RRTO)是2025年提出的一种新型元启发式算法。其受常用于机器人路径规划的快速探索随机树(RRT)算法的搜索机制启发,首次将RRT算法的概念与元启发式…...
VBA 数据库同一表的当前行与其他行的主键重复判断实现方案
目的,判断是否主键重复,不重复则登录新数据,重复则不登录。 定义类型: DataRecord tableName 表名 rowNumber 行号 columnName 列名 data 数据 想要实现的代码逻辑如下: 模拟数据库的登录过程。假设…...
从ENIAC到AI:计算机技术演进的四个关键时代与未来展望
1. 从电子管到晶体管:计算机的诞生与早期进化 1946年2月15日,美国宾夕法尼亚大学的莫尔学院向世界展示了ENIAC(Electronic Numerical Integrator And Computer),这台重达30吨的庞然大物标志着现代计算机时代的开始。E…...
EPLAN电气设计许可不够用?自动回收闲置,盘活工程资源
你是不是也遇到过这种情况?画一半图纸就报错"许可证不足",项目卡在门口,手忙脚乱地扯资源,还得向领导要钱买新许可。2026年,我们团队就踩过的坑,结果直接多花了2.8万块。 关键词分析:…...
LaTeX公式转换终极指南:3分钟搞定Word数学公式的免费Chrome扩展
LaTeX公式转换终极指南:3分钟搞定Word数学公式的免费Chrome扩展 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 还在为学术论文中复杂…...
ClickHouse:开源数据引擎在AI浪潮爆发,挑战传统数据库巨头
ClickHouse:开源数据引擎爆发,在AI浪潮中挑战传统数据库巨头过去18个月,开源数据基础设施里最热的公司除了Supabase可能就是ClickHouse了。ClickHouse Cloud ARR在2025年保持250%的同比增速,第三方估计从2024年中的约1500万美元增…...
第67篇:Vibe Coding时代:FastAPI + LangGraph 审批台实战,解决高风险 Agent 操作人工确认体验差的问题
第67篇:Vibe Coding时代:FastAPI + LangGraph 审批台实战,解决高风险 Agent 操作人工确认体验差的问题 一、问题场景:Agent 需要人工确认,但用户不知道该确认什么 前面我们已经做过人工确认: approval = APPROVED / REJECTED但真实平台中,审批不能只是一个字符串。 当…...
【Matlab】MATLAB教程:Simulink与MATLAB交互(MATLAB函数模块案例+混合编程仿真)
MATLAB教程:Simulink与MATLAB交互(MATLAB函数模块案例+混合编程仿真) 本教程适配MATLAB R2020a及以上版本,聚焦Simulink与MATLAB交互核心技能,以MATLAB函数模块为核心案例,详解混合编程仿真的全流程,无需深厚编程基础,纯实操导向、案例可直接复刻,适配高校课程设计、…...
HDD与SSD存储技术演进:从产业变迁看成本容量比与分层存储实践
1. 硬盘驱动器产业的十字路口:一场迟来的告别十多年前,当我在实验室里第一次把玩一块2.5英寸的机械硬盘,惊叹于它能在方寸之间存储数十GB的数据时,绝不会想到,这个看似坚不可摧的存储基石,其背后的商业帝国…...
图片怎么去水印?2026图片去水印方法实测 + 好用工具推荐
图片怎么去水印?2026图片去水印方法实测 好用工具推荐 前言 日常刷图、做设计、整理相册,总免不了碰到这个问题:图片上有水印,该怎么去掉?无论是摄影平台的版权标识、相机自动打上的日期戳、App 角标,还是…...
招募Kiro大使!会员权益、内测资格等重磅福利等你领!
亚马逊云科技上线了Kiro社区中心与Kiro Labs,旨在为开发者打造一个发现资源、交流联结、共同成长的专属阵地。目前已有不少开发者主动向项目专区投稿作品、分享活动信息,与众多开发者互帮互助一同成长。现在,亚马逊云科技将社区建设再往前推进…...
VR文旅大空间|沉浸式体验重塑文旅新场景
随着文旅产业不断升级,传统“走马观花式”的旅游体验已经难以满足游客日益增长的体验需求。如何让游客“留下来、玩得久、愿意分享”,成为各地文旅项目共同思考的问题。在这一背景下,VR大空间文旅逐渐走入大众视野,成为文旅融合发…...
