当前位置: 首页 > 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 在实例初始化之后&…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

AspectJ 在 Android 中的完整使用指南

一、环境配置&#xff08;Gradle 7.0 适配&#xff09; 1. 项目级 build.gradle // 注意&#xff1a;沪江插件已停更&#xff0c;推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

OD 算法题 B卷【正整数到Excel编号之间的转换】

文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的&#xff1a;a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件&#xff0c;可以展示文件夹&#xff0c;支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项&#xff0c;适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...