Java-Optional类
概述
Optional是JAVA 8引入的一个类,用于处理可能为null的值。
利用Optional可以减少代码中if-else的判断逻辑,增加代码的可读性。且可以减少空指针异常的发生,增加代码的安全性。
常用的方法

示例
代码
public class OptionalTest {public static void main(String[] args) {Integer value1 = null;Integer value2 = new Integer(10);// ofNullable允许参数为nullOptional<Integer>a = Optional.ofNullable(value1);//Optional.of - 如果传递的参数为null,则抛出异常Optional<Integer>b = Optional.of(value2);System.out.println(OptionalTest.sum(a, b));}public static Integer sum(Optional<Integer> a, Optional<Integer> b){// Optional.isPresent判断值是否存在System.out.println("第一个参数存在:" + a.isPresent());System.out.println("第二个参数存在:" + b.isPresent());//Optional.orElse - 如果值存在,返回他,否则返回默认值Integer value1 = a.orElse(new Integer(0));//optional.get - 获取值,值需要存在Integer value2 = b.get();return value1 + value2;}
}
输出:
第一个参数存在:false
第二个参数存在:true
10
相关文章:
Java-Optional类
概述 Optional是JAVA 8引入的一个类,用于处理可能为null的值。 利用Optional可以减少代码中if-else的判断逻辑,增加代码的可读性。且可以减少空指针异常的发生,增加代码的安全性。 常用的方法 示例 代码 public class OptionalTest {pub…...
AJAX学习笔记1发送Get请求
传统请求有哪些方式,及缺点 传统请求有哪些? 1.直接在浏览器地址栏上输入URL. 2.点击超连接. <a href"/上下文/请求地址">超链接请求</a> ---->相对路径 <a href"http://www.baidu.com">超链接请求</a> ---->绝对路…...
Elasticsearch 高级搜索技巧和最佳实践
Elasticsearch 高级搜索技巧和最佳实践 Elasticsearch 是一个开源的分布式搜索和分析引擎,它支持实时地存储、搜索和分析大规模数据。它被广泛应用于各行各业,用于构建高性能的搜索引擎、日志分析系统、电子商务推荐系统等。 本文将介…...
解决 .csv 文件上传到 pgsql 的字符报错问题
目录 背景问题解决办法 背景 上传 .csv 文件进行数据导入到 pg 时,报错显示如下: ods.tbl_inp_fee_detail.csv数据上传失败 报错信息:org.postgresql.util.PSQLException: ERROR: invalid byte sequence for encoding "UTF8": 0x00 Where: C…...
linux自动挂载并添加用户权限
目录 写在前面自动挂载完 写在前面 1、本文内容 linux挂载文件后,没有文件权限,使用uid和gid指定所需的所有者和所属组 2、平台/环境 linux 3、转载请注明出处: https://blog.csdn.net/qq_41102371/article/details/132539384 自动挂载 开…...
【C++】学习STL中的stack和queue
❤️前言 今天这篇博客的内容主要关于STL中的stack、queue和priority_queue三种容器。 正文 stack和queue的使用方式非常简单,我们只要根据之前学习数据结构的经验和文档介绍就可以轻松上手。于是我们直接开始对它们的模拟实现。 stack和queue的模拟实现 stack和q…...
Java捕获异常
在Java中,凡是可能抛出异常的语句,都可以用try ... catch捕获。把可能发生异常的语句放在try { ... }中,然后使用catch捕获对应的Exception及其子类。 使用try ... catch ... finally时: 多个catch语句的匹配顺序非常重要…...
【LLM】快速开始 LangChain
theme: orange LangChain是一个软件开发工具包,它通过将组件链接在一起并公开简单统一的API,简化了大型语言模型和应用程序的集成。本篇文章将会简要介绍,让各位开发者对其有一个整体的认识。 前言 如果你是一名软件开发人员,努力…...
Unity中立体声平移的应用
实现的效果 若从左声道开始,播放效果逐渐从左声道过渡到右声道,再从右声道过渡到左声道,具体效果请戴上耳机播放下列视频。 StereoPanning 代码实现 public class AudioInfo {[HideInInspector] public float[] StereoTranslationValues;//立…...
jupyter常用的方法以及快捷键
选中状态 蓝色 按enter 进入编辑状态 编辑状态 绿色 按Esc 进入选中状态 Code模式运行是运行代码 Markdown模式运行是进入预览状态 - - - 是文本格式的一种精简的语法形式 Raw NBConvert 是默认文本状态 - - - 输入什么样 展示什么样 Y - - - 切换code模式 M - - - 切换Markdo…...
SQL Server 操作JSON数据库列
Sql Server 从 2016 开始支持了一些 json 操作,但在SqlServer中Json还是被存储为字符串,如下: use [tempdb]declare JSON nvarchar(max) set JSONN{"id": "WakefieldFamily","parents": [{ "familyName&q…...
拼多多开放平台的API接口可以获取拼多多电商数据。以下是API接口流程
使用拼多多开放平台的API接口可以获取拼多多电商数据。以下是一般的API接口流程: 1. 注册开发者账号:首先,您需要在拼多多开放平台注册一个开发者账号。通过开发者账号,您可以获得API密钥和其他必要的信息。 2. 鉴权与认证&…...
使用Docker安装和部署kkFileView
🎈1 参考文档 kkFileView官方文档 🚀2 安装kkFileView 拉取Redis镜像。 docker pull keking/kkfileview启动docker容器。 docker run -it -d -p 8012:8012 keking/kkfileview --restart always解释: docker run redis # 从kkfileview镜像运行…...
胆囊结石3mm严重吗(解析胆囊结石的危害和处理方法)
胆囊结石是指胆囊内形成的固体结晶,大小不一,主要由胆固醇、胆汁色素和钙盐等物质组成。胆囊结石是一种比较常见的疾病,据统计,我国胆囊结石的患病率约为5%~10%左右。那么,胆囊结石3mm严重吗?下面就来一起了解一下。 …...
全新UI站长在线工具箱系统源码带后台开源版
该系统的全开源版本可供下载,并且支持暗黑模式。 系统内置高达72种站长工具、开发工具、娱乐工具等功能。此系统支持本地调用API,同时还自带免费API接口, 是一个多功能性工具程序,支持后台管理、上传插件、添加增减删功能。 环…...
maven的依赖下载不下来的几种解决方法
前言 每次部署测试环境,从代码库拉取代码,都会出现缺少包的情况。然后找开发一通调试,到处拷包。 方案一:pom文件注释/取消注释 注释掉pom.xml里的报红色的依赖(同时可以把本地maven库repo里对应的包删除)&…...
CAR-T商品化的第一步
1、CAR-T细胞的体外扩增能力 CAR-T细胞疗法需要先从患者体内获得T淋巴细胞,然后通过体外转基因技术 transduce CAR靶向结构域。这一过程需要在细胞培养体系中得到充分的扩增,以获得足够的治疗CAR-T细胞数量。因此,CAR-T细胞的体外扩增能力直…...
yolov2相较于yolov1的改进
目录 前言 BN层取代了Dropout 使用了高分辨率分类器 K-means选定先验框的尺寸 网络结构—darknet19 细粒度的特征 前言 yolov2是在yolov1的基础上进行改进的,主要解决了yolov1定位不准确以及检测重叠的物体极差的情况,总的来说,它有以下…...
如何在Spring Boot应用中使用Nacos实现动态更新数据源
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
代码随想录算法训练营day1~18总结
时间、空间复杂度,解题过程中运用的函数补充说明 数组 day1: http://t.csdn.cn/dBSgY day2: http://t.csdn.cn/JTDvH 数组总结 链表 day3:http://t.csdn.cn/mJx9V day4:http://t.csdn.cn/qiGqz 链表总结 哈希表 day6:…...
大厂AI团队配置揭秘:揭秘“预训练→后训练→推理部署→多模态扩展“的技术链路拆分逻辑!
大模型AI技术链路包含预训练、后训练、推理部署、多模态扩展四个不可逆环节,对技术能力和GPU资源需求各异。大厂将AI部门拆分为独立团队,以适配链路原理、提升研发效率。预训练团队负责构建通用基座模型,后训练团队进行能力校准,推…...
Qwen-Image-Edit-F2P在Vue前端项目中的可视化应用
Qwen-Image-Edit-F2P在Vue前端项目中的可视化应用 1. 引言 想象一下这样的场景:用户上传一张简单的人脸照片,几秒钟后就能看到自己穿着优雅礼服站在巴黎街头,或是化身古风侠客执剑而立。这种曾经只存在于科幻电影中的体验,现在通…...
【小白友好】Qwen2.5-VL-7B-Instruct快速上手:无需代码的图文智能问答工具
Qwen2.5-VL-7B-Instruct快速上手:无需代码的图文智能问答工具 1. 工具简介 Qwen2.5-VL-7B-Instruct是一款基于阿里通义千问多模态大模型的视觉交互工具,专为RTX 4090显卡优化。它最大的特点是完全可视化操作,无需编写任何代码就能实现强大的…...
从温控器到无人机:PID参数整定的‘手感’秘籍,附C语言代码避坑指南
从温控器到无人机:PID参数整定的‘手感’秘籍与实战避坑指南 在工业自动化和智能硬件开发中,PID控制算法就像一位隐形的调音师,默默调节着系统的每一个细微变化。无论是缓慢升温的工业烘箱,还是高速响应的四旋翼无人机,…...
Nano Banana Images API 集成指南
本文将介绍如何集成和使用 Nano Banana Images API。这一接口支持两种功能:图像生成 (generate) 和 图像编辑 (edit)。无论是创建独特的艺术作品,还是对现有图像进行修改,Nano Banana 都能满足您的需求。 环境准备 在使用该 API 之前&#…...
深蓝词库转换终极指南:30+输入法格式一键互转教程
深蓝词库转换终极指南:30输入法格式一键互转教程 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 深蓝词库转换(imewlconverter)是…...
【Java Web学习 | 第十篇】JavaScript(4) 对象
【Java Web学习 | 第十篇】JavaScript(4) - 对象(Object)深度详解(2026最新版) 恭喜你完成数组与函数进阶! 对象(Object) 是 JavaScript 中最重要、最核心的数据结构。在 Java Web 开发中&…...
3个秘诀彻底解决机械键盘连击问题:Keyboard Chatter Blocker全攻略
3个秘诀彻底解决机械键盘连击问题:Keyboard Chatter Blocker全攻略 【免费下载链接】KeyboardChatterBlocker A handy quick tool for blocking mechanical keyboard chatter. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyboardChatterBlocker 机械键盘…...
手把手教你玩转双闭环MMC逆变仿真
双闭环+最近电平逼近调制MMC模块化多电平换流器仿真(逆变侧)含技术文档 MMC Matlab-Simulink 直流侧11kV 交流侧6.6kV N22 采用最近电平逼近调制NLM 环流抑制(PIR比例积分准谐振控制),测量桥臂电感THD获得抑…...
QuickBMS深度解析:游戏资源逆向工程与批量处理技术实践
QuickBMS深度解析:游戏资源逆向工程与批量处理技术实践 【免费下载链接】QuickBMS QuickBMS by aluigi - Github Mirror 项目地址: https://gitcode.com/gh_mirrors/qui/QuickBMS 作为游戏逆向工程领域的瑞士军刀,QuickBMS以其卓越的文件格式解析…...
