Java8 新特性 记录【持续更新】

目录

一、Stream 相关

1、findFirst 方法

二、Optional 

1、如何构造Optional

2、ifPresent 方法


一、Stream 相关

1、findFirst 方法

Stream的findFirst方法在此流中查找第一个元素作为Optional。

如果流中没有元素,findFirst返回空的Optional。

如果流没有顺序,那么findFirst可以选择任何元素。

如果findFirst选择的元素为null,它将抛出NullPointerException。

二、Optional 

JDK 1.8加入了 Optional 类。用于避免用if判空时出现空指针异常,它就是一个包裹着对象的容器。如果值存在则 isPresent()方法会返回 true,调用 get() 方法会返回该对象。

1、如何构造Optional

JDK 提供三个静态方法来构造一个 Optional:

  1. Optional.of(T value) 该方法通过一个非 null 的 value 来构造一个 Optional,返回的 Optional 包含了 value 这个值。对于该方法,传入的参数一定不能为 null,否则便会抛出 NullPointerException。

  2. Optional.ofNullable(T value) 该方法和 of 方法的区别在于,传入的参数可以为 null,进行三目运算,判断传入的参数是否为 null,如果为 null 的话,返回的就是 Optional.empty()。

  3. Optional.empty()该方法用来构造一个空的 Optional,即该 Optional 中不包含值 —— 其实底层实现还是 如果 Optional 中的 value 为 null 则该 Optional 为不包含值的状态,然后在 API 层面将 Optional 表现的不能包含 null 值,使得 Optional 只存在 包含值 和 不包含值 两种状态。

2、ifPresent 方法

如果 Optional 中有值,则对该值调用 consumer.accept,否则什么也不做。

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

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

相关文章

传统办公电脑效率低怎么办?如何解决?

当传统办公电脑效率太低时,可以考虑转向云电脑作为解决方案。云电脑作为一种基于云计算的新型计算模式,具有许多显著的优势,这些优势可以有效提升办公效率和体验。以下是对云电脑优势的详细分析和总结,跟着小编一起来了解一下吧。…

游泳耳机品牌排行榜,10大实力超群的游泳耳机分享!

在当今快节奏的生活中,运动已成为许多人不可或缺的一部分,不仅为了健康,也是释放压力、提升生活品质的有效方式。而随着科技与健身的深度融合,智能穿戴设备尤其是专为运动设计的耳机,正逐渐成为运动爱好者的新宠。对于…

Windows或Nginx上安装/更新SSL证书,步骤详解

一、Windows系统上导入SSL证书 (1)在安装IIS服务器的Windows系统中,单击开始 > 运行 > MMC打开控制台 (2)单击文件 > 添加/删除管理单元,打开添加/删除管理单元对话框 (3&#xff09…

探索IPython的强大功能:全面指南与高效使用技巧

目录 一 IPython简介 什么是IPython? 安装IPython 二 基础功能 交互式计算 自动补全 历史记录 内置调试器 三 魔术命令 常用魔术命令 %time和%timeit %who和%whos %reset %run %load %matplotlib %%writefile 其他有用的魔术命令 四 扩展功能 IPython中的…

后台管理台字典localStorage缓存删除

localStorage里存放了如以下dictItems_开头的字典数据,localStorage缓存是没有过期时间的,需要手动删除。同时localStorage里还存有其他不需要删除的数据。 这里的方案是遍历localStorage,利用正则和所有key进行匹配,匹配到dict…

富格林:可信守则有效防范暗箱

富格林悉知,黄金具有不错的投资价值,一直以来备受投资者的喜爱,近年来大家也纷纷加入现货黄金市场为其增值财富。但是要有效防范暗箱的前提,是需要投资者使用可信合适的守则以及掌握相对应的投资技巧。下面富格林将总结以下技巧&a…

编程软件是由什么编程的

编程软件是由什么编程的 在数字化的世界里,编程软件作为构建数字生态的基石,其背后所蕴含的奥秘往往令人感到困惑。那么,这些编程软件究竟是由什么编程的呢?这背后隐藏着怎样的逻辑与技术?接下来,我们将从…

商业决策支持:Kompas AI为企业决策赋能

一、引言 在商业世界中,决策是企业成功的关键。正确的决策可以引领企业走向繁荣,而错误的决策则可能导致严重的后果。随着大数据和人工智能技术的发展,Kompas AI在商业领域的应用为商业决策提供了强大的支持,帮助企业在复杂多变的…

【需求管理】软件需求开发和管理文档(原件Word)

1. 目的 2. 适用范围 3. 参考文件 4. 术语和缩写 5. 需求获取的方式 5.1. 与用户交谈向用户提问题 5.1.1. 访谈重点注意事项 5.1.2. 访谈指南 5.2. 参观用户的工作流程 5.3. 向用户群体发调查问卷 5.4. 已有软件系统调研 5.5. 资料收集 5.6. 原型系统调研 5.6.1. …

MMDetection3D学习笔记一:环境搭建

文章目录 1 简介2 最佳环境安装实践2.1 配置conda环境2.2 安装相关依赖2.3 安装mmdet3d2.4 验证 3 通过 Docker 使用 MMDetection3D 1 简介 更推荐直接参考学习官方文档以及官方GitHub仓库,其所包含的内容最全面权威。 MMDetection3D是一个基于PyTorch的开源对象检测…

前端可观测性系统建设

一. 背景 随着前端业务的日趋庞大,及时发现和解决业务中的问题、优化用户体验、实时监控业务健康度变得愈发重要。在业务层面,我们希望能够监控每次发布版本后,核心功能是否有显著提升或至少没有负面影响,核心接口是否正常运作&a…

鸿蒙原生App开发之:套用混合app开发思路

2024年,似乎华为迎来了新的企业机遇--鸿蒙独立操作系统。 受到全球国际形势的影响,加之第四次科技革命(AI革命)冷不丁的出现,在他国AI技术领先的前提下,中国自主研发的独立操作系统再次提上新的战略高度。…

网站的用户留言信息有什么意义

用户在网站上面留言一般都是因为反馈问题或者有什么需求,网站可以通过收集这些用户的留言更够够好的不断优化网站服务用户需求,也可以通过这种方式加强平台与用户的友好关系,有些好心的用户突然发现网站有什么问题,发现哪里不对了…

机器阅读理解技术在电网检修问答系统中的应用与创新

在当今快速发展的人工智能领域,机器阅读理解技术正逐渐成为提升行业工作效率的关键因素。本文将探讨思通数科大模型中的检修问答系统,这一系统通过先进的机器阅读理解技术,优化了电网维修工作的流程和效率。 一、机器阅读理解技术概述 机器…

构建高并发Web应用:基于Gunicorn、Flask和Docker的部署指南

目录 一 理解基础组件 什么是Flask? 什么是Gunicorn? 什么是Docker? 二 环境准备 三 构建Flask应用 创建项目结构 编写Flask应用 app/views.py 四 使用Gunicorn部署Flask应用 配置Gunicorn Gunicorn配置文件 五 使用Docker进行容器化部署 编写Dockerfile 构建…

【C++11】深入剖析lambda仿函数的原理,自己动手实现std::function容器

文章目录 参考 参考 【C11】深入剖析lambda仿函数的原理,自己动手实现std::function容器实现自定义的Function

UDS诊断、ECU刷写、OTA升级、Tbox测试、CANoe实操

每天的直播时间: 周一至周五:20:00-23:00 周六与周日:9:00-12:00,14:00-17:00 TBOX 深圳 涉及过T-BOX测试吗Ota升级涉及的台架环境是什么样的?上…

高通Android 12/13 Launcher3修改RecentView与屏幕方向保持一致

1、背景: 最近同事遇到一个需求说,recentview应用预览与屏幕方向不一致问题,于是加了一些系统日志,实现此需求。简单记录下哈。 源码修改路径汇总如下 packages/apps/Launcher3/quickstep/src/com/android/quickstep/util/Recen…

lua手动绑定c++函数使用luaL_checkudata 和 luaL_newmetatable 联动

luaL_checkudata 用法 luaL_checkudata 和 luaL_newmetatable 是联动的。luaL_newmetatable 用于创建和注册一个元表,而 luaL_checkudata 用于从 Lua 栈中获取用户数据并确保其元表与预期的元表名称匹配。下面我们详细解释两者如何联动工作。 luaL_newmetatable …

2024年退休金上调3%后一个扎心的现实。。。

个人原创,手写码字1050 你好,我是郭震 今天正式宣布,退休养老金上调3%: 1 现状分析 我对此做一些分析,从数据中帮助老铁们看清一些事实。 根据去年数据,农村老人1.2亿: 去年数据显示&#xff0c…