java中判断四个String类型的数据不能同时都为空,或者不能只有其中一个字段,StringUtils的isBlank()方法

Commons-Lang3 避坑:StringUtils 语义与依赖冲突 在 Java 开发中,字符串判空、数组增删、日期格式化、参数校验和随机字符串看似基础,却最容易因边界语义不一致埋下空指针、线程安全与安全漏洞。Apache Commons-Lang3 以静态工具方法封装这些通用能力,核心价值是把 isEmpty 与 isBlank、split 是否保留空段、truncate 与 round、random 与 secure 等契约显式化,帮助工程代码统一语义、减少重复工具类。它在 Spring Boot、数据清洗、接口校验、报表统计和日志处理等场景高频出现,但版本混用也可能触 阅读详情

String a,b,c,d      

if(StringUtils.isBlank(a) && StringUtils.isBlank(b) && StringUtils.isBlank(c)&& StringUtils.isBlank(d)){
            throw new BusinessException("不允许所有值全部为空!");
        }
      

 if(StringUtils.isBlank(a) && StringUtils.isBlank(b) &&StringUtils.isNotBlank(c)&& StringUtils.isBlank(d)){
            
            throw new BusinessException("不允许只包含c一个值!");
        }

StringUtils的isBlank()方法可以一次性校验

  1. 是否为 null
  2. 是否为 ""
  3. 是否为空字符串(引号中间有空格)  如: "     "。

这三种情况,返回值都是true 

 

StringUtils.isNotBlank

判断某字符串是否不为空且长度不为0且不由空白符(whitespace)构成,等于!isBlank(String str) 

Java判空全攻略:从NPE防御到Optional与工具类实战 在Java开发中,空指针异常(NullPointerException)是最常见的运行时异常之一,它源于程序访问了未初始化或显式赋值为null的对象引用。理解判空的原理是编写健壮代码的基础,其技术价值在于提升系统稳定性、保证数据一致性并明确业务逻辑边界。通过防御性编程,开发者可以在方法参数校验、集合操作、链式调用等高频场景中有效拦截风险。本文聚焦Java判空的核心方法,涵盖传统的if判断、JDK7引入的Objects.requireNonNull,以及Java8的Optional容器,并深入解析Apache 阅读详情

相关推荐

SpringBoot+@Validate+全局异常拦截实现自定义规则参数校验(校验get请求参数不能为空且在指定枚举类型中)

上面实现SpringBoot参数校验时以自带的注解进行校验,如果需要进行自定义校验规则,比如请求时必须携带某个请求码,而且该请求码字符串必须在指定范围,即从枚举类中指定包含的。上面是以post请求为例,下面以get请求为例。

BADAO_LIUMANG_QIZHI的博客 4569

别再自己写字符串判空了!Apache Commons Lang3的StringUtils,这10个方法帮你省一半代码

本文详细介绍了Apache Commons Lang3中的StringUtils工具类,帮助开发者简化字符串判空和处理操作。通过isEmpty、isBlank、leftPad、rightPad等核心方法,可以大幅减少代码量并提高安全性,特别适用于表单验证、数据格式化等场景。

mfw238的博客 358

abb机器人指令手册_ABB机器人配置圆形输送链跟踪

更多内容请点击上方ABB机器人实战技巧关注也可点击公众号下方往期经典浏览更多内容转载请先后台留言,大家一起支持原创,推动机器人使用和发展本公众号对各类ABB机器人应用,仿真,毕业设计提供技术支持,详细后台留言本公众号诚挚希望与各机器人培训机构,机器人使用单元合作,提供技术支持,详细后台留言1. 通常的机器人输送链跟踪,均为直线输送链跟踪,例如下图2. 有些情况,输送链为圆形,例如...

weixin_39849894的博客 2047

同一实体多字段的不同校验--validate

同一个实体的不同校验逻辑

学海无涯,我用JAVA 3020

【Unity】ABB CRB 15000 外部引导运动实战:从配置到实时控制

本文详细介绍了ABB CRB 15000协作机器人的外部引导运动(EGM)功能在Unity环境中的实战应用。从RobotStudio配置到Unity实时通信架构,再到EGM运动控制技巧和问题排查,全面解析如何实现机器人的高精度实时控制。通过实际案例展示EGM技术在精密装配等场景中的显著效果,帮助开发者快速掌握这一先进技术。

weixin_29057695的博客 445

文石NoteX3国行版安装 Google Play经验分享

文石NoteX3国行版安装 Google Play经验分享。

2301_80693261的博客 7618

【java】多参数为空判断

一个参数的很好判断,但是多个参数的时候需要调用多次。需要判断参数是否为空,

掘金者说 3068

VXLAN技术详解

VXLAN(虚拟可扩展局域网)是一种Overlay二层虚拟化技术,通过MAC-in-UDP封装在IP网络上构建大规模虚拟二层网络。核心组件包括VTEP(隧道端点)、24位VNI(支持1600万个虚拟网络)和VXLAN网关。相比VLAN,VXLAN具有超大规模扩展、跨三层互联、支持虚拟机无缝迁移等优势,适用于云数据中心多租户隔离、跨数据中心互联等场景。其基于IP路由的封装方式无需改造物理网络,为现代云网络提供了弹性、安全的虚拟化解决方案。

kjkdd的博客 597

springBoot参数联合校验,自定义分组校验

参数校验碰到个场景:两个参数或者多个参数需要联合校验,不能都为空,即至少有一个有值 springboot提供的校验注解都无法满足,一般在controller写if判断 public Result<DepositActivityMixVO> depositMixDetail(@RequestBody @Valid DepositRequest request){ //参数校验 if(request.getIsRecommend() &&

yuhui666666的博客 4787

如何制作DOS启动盘 U盘制作DOS启动盘 HP-U盘启动DOS7 详细步骤教程 Intel网卡使用软件 bootutil lanconfig eeupdate Intel网卡修改MAC地址教程

制作DOS启动盘不是一项复杂的任务,只要按照以下简单的步骤进行操作,您就可以自己动手制作一个DOS启动盘。

lcy524514826的博客 898

基于QT的华为网络摄像头二次开发

第一次使用华为的网络摄像头并进行二次开发,网上关于QT对华为网络摄像头的二次开发的文章很少,基于项目的需求做了一些工作,特此记录。 目标: 1、实时预览 2、手动控制录制视频 3、监听告警型号 4、实时获取元数据中的划定区域内的人数 摄像头型号如下: 准备工作: 在购买摄像头后,应当在官网下载对应的开发资料,如果需要权限,则联系华为的技术支持人员。下载资料如下: SDC Development Kit Demo 8.0.T9 SDK DEMO下载地址:https://bbs.hua

xumingyifrend的博客 3170

Java 校验多个字符串是否均非空

Java 校验多个字符串是否均非空,当所有字符串均非空时,返回 true;否则返回 false。 package *****.utils; import org.springframework.util.StringUtils; import java.util.Map; /** * @description * @date 2019/1/22 21:32 */ public clas...

长安明月的博客 3632

金融科技数据源

数字金融开放研究平台

平平淡淡,戒急用忍,一生学闭嘴。 1761

Java字符串非空校验:从基础方法到工具类封装最佳实践

字符串校验是Java开发中的基础技术概念,其核心原理在于准确识别null值、空字符串和空白字符等不同形态。通过防御性编程和统一校验策略,可以有效预防NullPointerException等常见问题,提升代码健壮性。在技术价值层面,规范的字符串处理能够显著减少功能异常和安全漏洞,保障系统稳定性。在实际应用场景中,字符串校验广泛应用于用户输入验证、配置参数处理和数据库操作等环节。本文基于字符串处理和NullPointerException等热词,深入探讨Java字符串非空校验的完整解决方案,涵盖基础方法对比、

cuankuangzhong6373的博客 509

2026.2.11:ollama api推理GLM-OCR模型识别图片

本文介绍了使用Ollama API调用GLM-OCR模型进行图片文字识别的过程。首先通过ollama pull glm-ocr:latest命令拉取模型,然后使用Python脚本调用API接口。代码示例展示了如何发送包含图片路径的请求,并处理返回的识别结果,支持文本、公式和表格三种识别模式。运行结果展示了模型对输入图片的识别效果,为开发者提供了便捷的OCR解决方案。

拥抱具身智能,昇腾Ascend C 371

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java 中判断字符串为空的几种方式对比与工程实践推荐

本文系统梳理了Java中判断字符串为空的多种方式

2302_81298835的博客 802

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java数组为空如何判断_Java中判断数组是否为空?

一. java中1.判断一个String类型的字段是否为空StringUtils.isBlank()可判断 null,"","",三种类型2.判断两个字符串是不否相等的最好办法(可以防止出现为空现象)不相等!Objects.equals(WmCouponState.OPEN, coupon.getState())相等Objects.equals(WmCouponState.OPEN, coup...

weixin_39720510的博客 5581

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Java字符串判空:isEmpty与isBlank的区别及实战选择

字符串判空是Java开发中最基础也最容易忽略的操作。理解空字符串与空白字符串的概念差异,是写出健壮代码的前提。通过分析String类底层源码,可以看出isEmpty()仅判断长度是否为0,而isBlank()则会遍历字符,检查内容是否全部为空白字符,这一区别直接影响表单校验、数据清洗、接口参数处理等场景的准确性。掌握Java 11新增的isBlank()与strip(),并了解它们和trim()、StringUtils工具类的异同,有助于开发者从根本上避开因空格导致的脏数据与线上故障。同时,判空逻辑还需结合

weixin_33326218的博客 274

java判空快捷_Java中的判空操作

一、String 的 isEmpty() 与 null 与 "" 区别public class demo {public static void main(String[] args) {String a = new String();String b = "";String c = null;test(a);test(b);test(c);}private static void test(St...

weixin_42186728的博客 455

判断String类型字符串是否为空的方法

在项目中经常遇到要判断String类型的字段是否为空操作 我们可以用Apache提供的StringUtils这个工具类,不用自己去判断,也不用自己封装判断空的方法 它有两个版本,一个是org.apache.commons.lang下面,一个是org.apache.commons.lang3下面 lang3要求jdk在1.5以上 现在jdk都普通用1.8了,所以我在项目中就...

weixin_30701521的博客 866

Apache Commons-Lang3实战:StringUtils用法与避坑

在Java后端开发中,工具类库是减少重复代码、提升系统健壮性的基础设施。Apache Commons-Lang3作为JDK原生API的重要补充,以null安全和可读性优先的设计,封装字符串判空、安全截取、拼接填充、对象与数组操作等常用逻辑,降低空指针和边界异常风险。其技术价值在于统一编码风格、提高开发效率并减少维护成本,常用于参数校验、日志处理、数据清洗、接口适配和报表导出等场景。对于依赖StringUtils进行isEmpty/isBlank判断、substring边界保护与忽略大小写比较的团队,理解co

weixin_34025151的博客 369

字符串判空的5种方式大比拼(哪种效率最高?)

掌握Java判断字符串是否为空的最佳实践,详解5种常用方法的性能差异与适用场景。涵盖null检查、isEmpty()、StringUtils等核心方案,对比效率与安全性,帮你写出更健壮的代码。值得收藏

InstrWander的博客 630

Java 字符串判空

java字符串判空 写文章巩固自己的记忆 1.效率最高的一种判空方法 String A=“123456”; if(A!=null || A.length()>0){} 2.可用StringUtils 的 isBlack() 方法. 此方法可以一次性校验三种情况, ①是否为NUll; ②是否为 “”; ③是否为空字符串 " " ; StringUtils.isBlack(A); 3.效率低的一种 if(A == null || A.equals(" ")){} 4.效率高, 存在兼容性的一种方法 i

weixin_45352813的博客 343

编程中判空处理的四种核心方法与实践指南

在软件开发中,空值处理是确保程序健壮性的基础技术。空值通常指变量未赋值或指向无效内存地址的状态,其本质是程序运行时数据缺失的表示。理解空值的原理有助于避免空指针异常等常见运行时错误,提升代码的可靠性。从技术价值看,完善的判空机制能显著增强程序的容错能力,减少线上故障,是高质量代码的标志。在实际应用场景中,无论是处理用户输入、解析API响应还是操作数据库结果,都需要对可能为空的数据进行安全访问。本文聚焦于JavaScript/TypeScript、Java等语言中的判空实践,详细解析基础条件判断、可选链操作符

weixin_34259232的博客 398
上一篇: 读取json形式报文时,controller中用request.getParameter无法获取到报文中的参数
下一篇: Excel报表导出之动态合并单元格
不修电脑的程序员
博客等级 码龄9年 47粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值