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

StringUtils.isNotBlank和StringUtils.isNotEmpty的区别

在 Java 的org.apache.commons.lang3.StringUtils工具类中,isNotBlank()isNotEmpty()是两个常用的字符串判断方法,它们的主要区别在于对空白字符(whitespace)的处理上:

StringUtils.isNotEmpty(CharSequence cs)

判断逻辑:当字符串不为null且长度大于 0 时返回true

特点:不忽略空白字符,只要字符串不是null且不是空字符串("")就会返回true

示例:

StringUtils.isNotEmpty(null)      // false
StringUtils.isNotEmpty("")        // false
StringUtils.isNotEmpty(" ")       // true(包含空格,长度>0)
StringUtils.isNotEmpty("hello")   // true
StringUtils.isNotBlank(CharSequence cs)

判断逻辑:当字符串不为null、长度大于 0 且不包含空白字符时返回true

特点:会忽略空白字符(空格、制表符\t、换行符\n等),相当于先调用trim()再判断

StringUtils.isNotBlank(null)      // false
StringUtils.isNotBlank("")        // false
StringUtils.isNotBlank(" ")       // false(仅包含空格,trim后为空)
StringUtils.isNotBlank("  a  ")   // true(trim后为"a",非空)
StringUtils.isNotBlank("hello")   // true

总结区别:

  • isNotEmpty():仅排除null和空字符串""
  • isNotBlank():排除null、空字符串""和纯空白字符串(如" ""\t\n"等)
实际开发中,isNotBlank()更常用在需要验证用户输入的场景(如表单提交),因为用户可能会输入空格等无意义的空白字符;而isNotEmpty()适用于需要保留空白字符的场景(如需要严格区分空字符串和空格的情况)。

 

http://www.wxhsa.cn/company.asp?id=2950

相关文章:

  • ECT-OS-JiuHuaShan框架元推理,已在DeepSeek上实现agi
  • 9.13CSP-S Day6 模拟赛
  • 助教工作总结
  • 了解一下Redis Stack扩展功能
  • 游戏运行库合集 集成VC++、.NET、DirectX、XNA等千款组件,一键安装游戏必备依赖库 - 指南
  • 【CE】图形化CE游戏教程通关手册 - 详解
  • GZHOIOJ律(三)
  • visual studio 切换重载
  • [AGC022F] Checkers 题解
  • 程序员的副业变现之路:我的双平台矩阵打法
  • Python 潮流周刊#119:Google 停止开发 Pytype!
  • 利用k8s client-go库创建CRD的informer的操作流程
  • Golang并发编程及其高级特性
  • 单个光子的行为、传播特性、物质相互作用及其应用就是[光学原理与应用-449]:量子光学 - 量子光学研究的
  • 和为 K 的子数组-leetcode
  • 元推理agi不是象人思维,而是教人思维,人类脸上挂不住啊
  • 《10人以下小团队管理手册》读后感
  • GZHOIOJ律(二)
  • 优惠券
  • GZHOIOJ律(一)
  • 基于ArcGIS Pro SDK 3.4.2 + C# + .NET 8 的自动化制图系统初探
  • Kali Linux 虚拟机安装(VMware Workstation 17)
  • 单例模式:线程安全,以及volatile关键字
  • lilctf 部分wp - Elma
  • 用 Python 和 Tesseract 实现验证码识别
  • Java 和 Tesseract 实现验证码识别
  • 基于 Weiler–Atherton 算法的 IoU 求解
  • Selenium应用中的核心JavaScript操作技巧
  • 25.9.13 字符编码标准
  • 哭了,散了,明白了