Java中的判断校验非空问题

news2024/11/21 0:28:11

目录

字符串

字符串是空的情况

字符串不是空的情况

对象

对象是空的情况

对象不是空的情况 

前端传的 int ,double类型等等

Optional 判断情况

https://www.cnblogs.com/zhangboyu/p/7580262.htmlhttps://www.cnblogs.com/zhangboyu/p/7580262.html

值为空的情况,不会进入lambda表达式

值不为空的情况


字符串

参考文档:工具类Apache Commons Lang3 之StringUtils-CSDN博客文章浏览阅读6.8k次,点赞5次,收藏9次。概述Lang3提供了许多Java库无法提供的辅助工具类,比如字符串,数值,反射,序列化等。如果熟练使用该包下的工具类,将节省我们的开发时间,避免重复实现,减少出错的可能。版本当前版本:3.12.03.x版本最低支持java7使用org.apache.commonscommons-lang3&l_stringutilshttps://blog.csdn.net/qq_42778001/article/details/124164478

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version> <!-- 请检查最新版本 -->
        </dependency>

依赖参考API文档

 common-lang3icon-default.png?t=N7T8https://hcdtc.github.io/zh/docs/30-development-manual/2-back-end/99-dev-utils/2-common-lang3/

字符串是空的情况

字符传 'a' 是否为空 ,  a=null , a="",时为空, 为空

String a = "";
StringUtils.isEmpty(a)     // 判断是否为空

 org.springframework.util.StringUtils.

字符串’a‘是否为空,a=null, a="”时,a="    ",为空 ,  “      a”不为空

String a = null;
StringUtils.isBlank("   a")

import org.apache.commons.lang3.StringUtils;

字符串不是空的情况

字符串’a‘是否为空,a=null, a="”时,a="    ",为空 ,  “      a”不为空

String a = 'b'
StringUtils.isNotBlank(a)

import org.apache.commons.lang3.StringUtil

对象

Objects.nonNull(a) ,能够 判断 ,字符串,对象、集合、数组是否为空

对象是空的情况

        student = null;
        if (Objects.isNull(student)) {
            System.out.println("空");
        } else {
            System.out.println("不空");
        }


Java.Util

对象不是空的情况 

Student a = new Student;
a = null;
Objects.nonNull(a)

java.util

前端传的 int ,double类型等等

Integer num = ...; // 从前端获取的值

if (Objects.nonNull(num)) {
    System.out.println("num 不为空,其值为:" + num);
} else {
    System.out.println("num 为空");
}

Optional 判断情况

参考文章:

https://www.cnblogs.com/zhangboyu/p/7580262.htmlicon-default.png?t=N7T8https://www.cnblogs.com/zhangboyu/p/7580262.html

值为空的情况,不会进入lambda表达式

创建一个 Student 对象

Student student = new Student();

 将 student 设置为 null

student = null;

使用 Optional.ofNullable 创建 Optional 对象,用于包装 student

Optional<Student> opt = Optional.ofNullable(student);

如果 opt 中包含值,则执行 Lambda 表达式中的代码

opt.ifPresent(student1 -> {
    在这个 Lambda 表达式中执行一些操作,但由于 student 是 null,所以这部分代码不会执行
    System.out.println(student1.toString());
});

值不为空的情况

创建一个 Student 对象

Student student = new Student();

将 student 设置为 null

student = null;

 使用 Optional.ofNullable 创建 Optional 对象,用于包装 student

Optional<Student> opt = Optional.ofNullable(student);

如果 opt 中的值不为空,则返回该值;否则,使用 orElseGet 方法中的 Supplier 创建一个默认的 Student 对象

Student defaultStudent = opt.orElseGet(() -> {

     创建默认的 Student 对象

    Student defaultStu = new Student();

    对默认的 Student 对象设置一些默认值

    defaultStu.setGreen("defaultGreen");

    defaultStu.setRed("defaultRed");

     返回默认的 Student 对象
    return defaultStu;
});

输出默认的 Student 对象

System.out.println(defaultStudent);

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

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

相关文章

网络模型-物理层技术

一、堆叠技术 堆叠技术通过堆叠端口和堆叠连接线将多台支持堆叠特性的交换机设备组合在一起&#xff0c;从逻辑上组合成一台交换机设备。通过组建堆叠&#xff0c;可以达到扩展网络能力、提高设备可靠性的目的。 堆叠的种类:链形和环形堆叠 堆叠 (设备虚拟化): 将多台设备通过…

项目9-网页聊天室8(消息的发送和接收之websocket)

这是整个项目最最核心的部分. 但是这个部分的编写&#xff0c;需要依赖"基础设施" 包括不限于前面已经实现的 主界面,用户管理,会话管理, 好友管理, 消息管理 等等.... 发送消息,和接收消息,需要"实时传输 张三 发了一条消息,李四 这边立即就能接收到, 这样的…

进程间通信(下)

1. system V共享内存 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间&#xff0c;这些进程间数据传递不再涉及到内核&#xff0c;换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据 那么这到底是为什么呢&#xff1f; 1.1 共享内存示意…

用户账户的权限管理

用户账户的权限管理 用户账号&#xff1a; 1、超级用户 &#xff1a;管理员账号 root 默认对本机拥有最高权限的账户&#xff0c;在系统中唯一。 2、普通用户&#xff1a;一般由管理员创建&#xff0c;拥有的权限是受限制的&#xff0c;一般只在自己的家目录中拥有完整的权限…

【无标题】亚马逊5月24日宣布推出2024出口跨境物流加速器计划

亚马逊中国5月24日郑重宣布启动“2024亚马逊出口跨境物流加速器计划”&#xff0c;旨在依托其世界领先的物流网络和前沿技术&#xff0c;结合本土资源&#xff0c;不断优化跨境物流服务&#xff0c;以强化中国卖家在跨境物流供应链管理方面的能力&#xff0c;进而提升整体效率&…

DI-engine强化学习入门(四)DI-ZOO强化学习——MUJOCO环境搭建

上一章我们搭建了Atari的强化学习环境&#xff0c;这一期我们来搭建MUJOCO强化学习环境 那么我们为什么要“多此一举”呢&#xff1f; 一、概述 MuJoCo和Atari对比 Atari&#xff1a; 类型&#xff1a;Atari游戏是一系列的经典视频游戏。简单性&#xff1a;Atari游戏通常有相…

Leetcode—2769. 找出最大的可达成数字【简单】

2024每日刷题&#xff08;139&#xff09; Leetcode—2769. 找出最大的可达成数字 实现代码 class Solution { public:int theMaximumAchievableX(int num, int t) {return num t * 2;} };运行结果 之后我会持续更新&#xff0c;如果喜欢我的文章&#xff0c;请记得一键三连…

深入理解python列表遍历:两种方法详解与实例

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、使用索引遍历列表 三、直接使用元素遍历列表 四、总结 一、引言 在编程过程…

【设计模式】JAVA Design Patterns——Callback(回调模式)

&#x1f50d;目的 回调是一部分被当为参数来传递给其他代码的可执行代码&#xff0c;接收方的代码可以在一些方便的时候来调用它。 &#x1f50d;解释 真实世界例子 我们需要被通知当执行的任务结束时。我们为调用者传递一个回调方法然后等它调用通知我们。 通俗描述 回调是一…

人生苦短,我学python之数据类型(上)

个人主页&#xff1a;星纭-CSDN博客 系列文章专栏&#xff1a;Python 踏上取经路&#xff0c;比抵达灵山更重要&#xff01;一起努力一起进步&#xff01; 目录 一.元组 &#xff08;tuple&#xff09; 二.集合&#xff08;set&#xff09; 三.字典(dict) 一.元组 &#…

科技前沿:IDEA插件Translation v3.6 带来革命性更新,翻译和发音更智能!

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

【论文速读】Transformer:Attention Is All You Need

Transformer&#xff1a;Attention Is All You Need 摘要模型架构注意力模型Scaled Dot-ProductMulti-Head Attention Position-wise Feed-Forward NetworksEmbeddings and SoftmaxPositional Encoding 摘要 我们提出了一种新的简单的网络架构&#xff0c;Transformer&#xf…

OSPF多区域组网实验(思科)

华为设备参考&#xff1a;OSPF多区域组网实验&#xff08;华为&#xff09; 技术简介 OSPF多区域功能通过划分网络为多个逻辑区域来提高网络的可扩展性和管理性能。每个区域内部运行独立的SPF计算&#xff0c;而区域之间通过区域边界路由器进行路由信息交换。这种划分策略适用…

如何构建基因单倍型网络

一. 单倍型网络 单倍型网络图通常是指在遗传学和进化生物学中使用的一种图形表示法&#xff0c;用于描述不同个体或群体之间的遗传关系。这种图形通常用于研究基因或DNA序列在不同个体之间的变化和传递。在单倍型网络图中&#xff0c;节点表示不同的单倍型&#xff0c;而边表示…

自己搭建ntp服务器

1、背景 终端在使用过程中&#xff0c;发现联网后进行NTP(network time protocol&#xff0c;网络时间协议)校时过程中&#xff0c;经常出现校时失败的问题&#xff0c;特别是本地环境&#xff0c;因此需要在自己这边搭建测试环境。 2、搭建步骤 2.1 安葬服务器 sudo apt-get…

Python项目:数据可视化_下载数据【笔记】

源自《Python编程&#xff1a;从入门到实践》 作者&#xff1a; Eric Matthes 02 下载数据 2.1 sitka_weather_07-2021_simple.csv from pathlib import Path import matplotlib.pyplot as plt import csv from datetime import datetimepath Path(D:\CH16\sitka_weather_0…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 5月25日,星期六

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年5月25日 星期六 农历四月十八 1、 气象台&#xff1a;未来三天&#xff0c;北方雷雨侵扰&#xff0c;南方暴雨大暴雨将成片出现&#xff0c;今年首个台风生成在即。 2、 人社部&#xff1a;拟增加网络主播等19个新职业&am…

“高考钉子户”唐尚珺决定再战2024年高考

“高考钉子户”唐尚珺决定在2024年再次参加高考&#xff0c;这个选择确实很特别也很有趣。十几年连续参加高考&#xff0c;他已经积累了大量的备考经验和应试技巧。这样的经验对于高考辅导机构来说无疑是非常宝贵的资源&#xff0c;他如果选择去辅导机构当老师&#xff0c;应该…

运算符重载(上)

目录 运算符重载日期类的比较判断日期是否相等判断日期大小 赋值运算符重载赋值运算符重载格式赋值运算符只能重载成类的成员函数不能重载成全局函数用户没有显式实现时&#xff0c;编译器会生成一个默认赋值运算符重载&#xff0c;以值的方式逐字节拷贝 感谢各位大佬对我的支持…

使用llama.cpp实现LLM大模型的格式转换、量化、推理、部署

使用llama.cpp实现LLM大模型的量化、推理、部署 大模型的格式转换、量化、推理、部署概述克隆和编译环境准备模型格式转换GGUF格式bin格式 模型量化模型加载与推理模型API服务模型API服务(第三方)GPU推理 大模型的格式转换、量化、推理、部署 概述 llama.cpp的主要目标是能够在…