当前位置: 首页 > news >正文

Java中的判断校验非空问题

目录

字符串

字符串是空的情况

字符串不是空的情况

对象

对象是空的情况

对象不是空的情况 

前端传的 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 设置为 nullstudent = null;使用 Optional.ofNullable 创建 Optional 对象,用于包装 studentOptional<Student> opt = Optional.ofNullable(student);如果 opt 中包含值,则执行 Lambda 表达式中的代码opt.ifPresent(student1 -> {在这个 Lambda 表达式中执行一些操作,但由于 student 是 null,所以这部分代码不会执行System.out.println(student1.toString());
});

值不为空的情况

创建一个 Student 对象Student student = new Student();将 student 设置为 nullstudent = null;使用 Optional.ofNullable 创建 Optional 对象,用于包装 studentOptional<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);

相关文章:

Java中的判断校验非空问题

目录 字符串 字符串是空的情况 字符串不是空的情况 对象 对象是空的情况 对象不是空的情况 前端传的 int ,double类型等等 Optional 判断情况 https://www.cnblogs.com/zhangboyu/p/7580262.htmlhttps://www.cnblogs.com/zhangboyu/p/7580262.html 值为空的情况,不会…...

webman使用summernote富文本编辑器

前言 Summernote富文本编辑器功能强大&#xff0c;可以直接从word直接复制内容过来而不破坏原有的文档格式&#xff0c;非常适合做商品详情等内容的编辑工具。本文将展示如何在php高性能框架webman中使用summernote编辑器。 下载 去Bootstrap 中文网、Summernote、jQuery官网…...

jQuery里添加事件 (代码)

直接上代码 <!DOCTYPE html> <html><head></head><body><input type"text" placeholder"城市" id"city" /><input type"button" value"添加" id"btnAdd" /><ul id…...

Java数组的使用

Java数组的使用 前言一、数组基本用法什么是数组注意事项创建数组基本语法代码示例注意事项 数组的使用代码示例获取长度 & 访问元素注意事项 下标越界遍历数组使用 for-each 遍历数组 二、数组作为方法的参数基本用法代码示例打印数组内容 理解引用类型代码示例参数传内置…...

如何参与github开源项目并提交PR

&#x1f47d;System.out.println(“&#x1f44b;&#x1f3fc;嗨&#xff0c;大家好&#xff0c;我是代码不会敲的小符&#xff0c;目前工作于上海某电商服务公司…”); &#x1f4da;System.out.println(“&#x1f388;如果文章中有错误的地方&#xff0c;恳请大家指正&…...

拼多多携手中国农业大学,投建陕西佛坪山茱萸科技小院

5月16日下午&#xff0c;中国农业大学陕西佛坪山茱萸科技小院在佛坪县银厂沟村揭牌。佛坪县素有“中国山茱萸之乡”的美誉&#xff0c;是全国山茱萸三大基地之一&#xff0c;当地山茱萸是国家地理标志产品&#xff0c;山茱萸肉产量位居全国第二。 为充分发挥佛坪县得天独厚的山…...

技术前沿 |【自回归视觉模型ImageGPT】

自回归视觉模型ImageGPT 引言一、ImageGPT的基本原理与创新之处二、ImageGPT在图像生成、理解等视觉任务上的应用三、ImageGPT对后续视觉Transformer模型发展的影响四、ImageGPT的深入应用 引言 在人工智能的飞速发展中&#xff0c;视觉模型作为其中一个重要的分支&#xff0c…...

Manjaro linux install RedisGUI (RedisInsight)亲测2024-5-25

Arch 用户仓库(Arch User Repository)(AUR) 是用户选择 基于 Arch Linux 的系统 的一个主要理由。你可以在 AUR 中访问到大量的附加软件。 (LCTT 译注&#xff1a;AUR 中的 PKGBUILD 均为用户上传且未经审核&#xff0c;使用者需要自负责任&#xff0c;在构建软件包前请注意检…...

debian/control文件中常见字段的介绍

1 简介 在Debian或基于Debian的发行版中&#xff0c;debian/control文件是软件包管理的关键部分。它包含了软件包的各种元数据和安装脚本信息&#xff0c;用于软件包管理系统&#xff08;如dpkg&#xff09;识别如何处理该软件包。以下是debian/control文件中常见字段的详细介…...

c++题目_农场和奶牛

&#x1d435;B 头奶牛 (1≤&#x1d435;≤25000)(1≤B≤25000)&#xff0c;有 &#x1d441;(2&#x1d435;≤&#x1d441;≤50000)N(2B≤N≤50000) 个农场&#xff0c;编号 11 到 &#x1d441;N&#xff0c;有 &#x1d440;(&#x1d441;−1≤&#x1d440;≤100000)M(…...

DDD领域设计在“图生代码”中的应用实践

前言 领域驱动设计(简称 ddd)概念来源于2004年著名建模专家Eric Evans 发表的他最具影响力的书籍:《领域驱动设计——软件核心复杂性应对之道》&#xff08;Domain-Driven Design –Tackling Complexity in the Heart of Software&#xff09;&#xff0c;简称Evans DDD。领域…...

LabVIEW舱段测控系统开发

LabVIEW舱段测控系统开发 在航空技术飞速发展的当下&#xff0c;对于航空器的测控系统的需求日益增加&#xff0c;特别是对舱段测控系统的设计与实现。开发了一款基于LabVIEW开发的舱段测控系统&#xff0c;包括系统设计需求、系统组成、工作原理以及系统实现等方面。 开发了…...

[leetcode]第 n个丑数

我们把只包含质因子 2、3 和 5 的数称作丑数&#xff08;Ugly Number&#xff09;。求按从小到大的顺序的第 n 个丑数。 示例: 输入: n 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。 1 2 3 说明: 1 是丑数。 n 不超过1690。 class Solution {public…...

STM32-电灯,仿真

目录 1.配置vscode 2.新创建软件工程 3.仿真 4.源码 5.运行效果 1.配置vscode http://t.csdnimg.cn/BvCLx 安装 C/C Extension Pack 安装 Embedded IDE 安装 Keil MDK 配置路径 2.新创建软件工程 下拉找到对应的 输入项目名字,选择项目所在文件夹即可 3.仿真 一路新…...

《SpringBoot》系列文章目录

SpringBoot是由Pivotal团队提供的全新框架&#xff0c;旨在简化新Spring应用的初始搭建以及开发过程。以下是一些关于SpringBoot的详细介绍&#xff1a; 设计目的&#xff1a;SpringBoot通过特定的方式来进行配置&#xff0c;使得开发人员不再需要定义样板化的配置&#xff0c…...

牛客小白月赛94VP

1.签到&#xff1a;https://ac.nowcoder.com/acm/contest/82957/A 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; map<int,int> mp; int main() {for(int i1;i<9;i){int x;cin>>x;mp[i]x;}string s;cin>>s;s s;for(int i…...

php 亚马逊AWS-S3对象存储上传文件

最近做国外项目的时候&#xff0c;需要把文件上传到AWS-S3对象存储空间里&#xff0c;下面整理一下上传方法&#xff0c;和碰到的问题 代码 /*** 亚马逊oss Aws上传* composer require aws/aws-sdk-php* param $filePath* param $ossPath* return array* author wzb* data 202…...

electron-01 基础及NPM相关配置

electron基础 结构 ChromiumNode.jsNative apis 工作流程 启动APP主进程创建windowWin加载界面操作 主进程 package.json中main属性对应的文件一个应用对应一个主进程只有主进程可以进行GUI的API操作 渲染进程 windows中展示的界面通过渲染进程表现一个应用可以有多个渲…...

Foxit PDF Editor Pro福昕PDF编辑器Pro:重塑您的文档编辑体验

在信息爆炸的时代&#xff0c;PDF文件因其跨平台、格式稳定等特性&#xff0c;成为我们日常工作与学习中不可或缺的一部分。然而&#xff0c;面对这些文件时&#xff0c;许多人都会遇到一个共同的难题&#xff1a;如何高效、专业地编辑PDF内容&#xff1f;今天&#xff0c;我要…...

VUE 页面生命周期基本知识点

在 Vue.js 中&#xff0c;页面生命周期&#xff08;更准确地说是组件生命周期&#xff09;指的是组件从创建到销毁的一系列过程。了解这些生命周期钩子可以帮助我们更好地管理组件的状态和行为。以下是 Vue 组件的主要生命周期钩子&#xff1a; beforeCreate 在实例初始化之后&…...

基于MaixCam的延时摄影系统:从硬件选型到Python编程全解析

1. 项目概述&#xff1a;用MaixCam打造你的专属延时摄影工坊延时摄影&#xff0c;这个听起来有点专业、甚至带点“魔法”色彩的词&#xff0c;其实离我们并不遥远。想想看&#xff0c;把一朵花从含苞到绽放的几天时间&#xff0c;压缩成十几秒的惊艳绽放&#xff1b;或者把一座…...

AI圈内火热的Agent、MCP、Skill、CLI是啥?用装修房子讲透,看完秒懂

本文用装修房子的比喻&#xff0c;详细解释了AI领域的四个核心概念&#xff1a;Agent如同会自主规划任务的私人助理&#xff1b;MCP是AI与外部工具数据的统一接口&#xff0c;类似USB-C&#xff1b;Skill是指导AI按标准操作执行的手册&#xff1b;CLI则是不依赖图形界面的命令行…...

MeloTTS实战:多语言语音合成的高效解决方案

MeloTTS实战&#xff1a;多语言语音合成的高效解决方案 【免费下载链接】MeloTTS High-quality multi-lingual text-to-speech library by MyShell.ai. Support English, Spanish, French, Chinese, Japanese and Korean. 项目地址: https://gitcode.com/GitHub_Trending/me/…...

ModernWMS核心功能详解:从ASN入库到Dispatch出库的完整工作流

ModernWMS核心功能详解&#xff1a;从ASN入库到Dispatch出库的完整工作流 【免费下载链接】ModernWMS The open source simple and complete warehouse management system is derived from our many years of experience in implementing erp projects. We stripped the origin…...

基于EMA与轻量级机器学习的Wi-Fi链路质量预测实战

1. 项目概述与核心价值在工业自动化、仓储物流和智能制造等场景里&#xff0c;无线网络的稳定性正变得前所未有的重要。想象一下&#xff0c;一个自动导引运输车&#xff08;AGV&#xff09;正在执行物料搬运任务&#xff0c;或者一个机械臂正在与中央控制系统进行实时数据同步…...

为什么你的Midjourney雾效总像“水汽”而非“山岚”?——资深CG总监拆解大气散射物理模型在--v 6.1中的3层映射偏差

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;为什么你的Midjourney雾效总像“水汽”而非“山岚”&#xff1f; Midjourney 生成的雾气常呈现为均匀、半透明、边界模糊的“水汽感”——厚重、潮湿、缺乏层次与呼吸感。这并非模型能力不足&#xff0c;而是提…...

线程池面试

线程池面试&#xff5c;一页极简口述满分版&#xff08;高级开发必背&#xff09; 一、核心概念解析&#xff08;口述满分&#xff09; 线程池核心作用&#xff1a;实现线程复用&#xff0c;规避线程频繁创建、销毁的性能开销&#xff0c;同时实现并发限流、服务熔断防护、异步…...

基于概率随机森林的天文测光数据尘埃恒星自动分类实践

1. 项目概述&#xff1a;当机器学习遇见尘埃恒星处理海量天文数据&#xff0c;尤其是从像斯皮策空间望远镜&#xff08;Spitzer&#xff09;的SAGE巡天这类项目中获取的多波段测光数据&#xff0c;一直是个既让人兴奋又头疼的活儿。传统的光谱分类方法虽然精准&#xff0c;但面…...

拒绝延迟与黑屏:向日葵控制端 局域网直连 P2P 穿透与无头服务器(Headless)虚拟显示器优化指南

拒绝延迟与黑屏&#xff1a;向日葵控制端 局域网直连 P2P 穿透与无头服务器&#xff08;Headless&#xff09;虚拟显示器优化指南 在远程开发、分布式部署及日常运维场景中&#xff0c;我们经常需要远程连接到公司的高配工作站、机房服务器或家中的调试开发机。 作为国内普及…...

为 Node.js 后端服务配置 Taotoken 作为大模型统一网关

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为 Node.js 后端服务配置 Taotoken 作为大模型统一网关 在构建基于大语言模型的 Node.js 后端服务时&#xff0c;直接对接多个模型…...