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

StringUtils.isEmpty()方法过期的替代方法

1、问题概述?

今天在准备使用StringUtils.isEmpty()工具判断字符串是否为空的时候,突然发现idEmpty上出现了横线,这就表示这个方法可以实现但是已经过期了,官方不推荐使用了。

原因其实是因为有人给官方提交了一个问题,StringUtils.isEmpty()可能会导致一个隐藏bug。官方直接弃用,推荐使用hasTest或者hasLength。

两者用法基本相同,含义基本相同只说明其中一个。

2、解决办法

这个时候我们可以使用StringUtils.hasText(token)替代之前的StringUtils.isEmpty()工具类型。也非常的好用。

这是由spring框架提供的一个工具方法

功能:如果字符不为 null 值,且字符的长度大于0,且不是空白字符,则返回 true,否则返回false.

具体用法如下:

public static void main(String[] args) {System.out.println(StringUtils.hasText("123 "));//trueSystem.out.println(StringUtils.hasText("123"));//tureSystem.out.println(StringUtils.hasText(""));//falseSystem.out.println(StringUtils.hasText(" "));//falseSystem.out.println(StringUtils.hasText(null));//false
}

3、源码观看

 public static boolean hasText(@Nullable CharSequence str) {if (str == null) {return false;} else {int strLen = str.length();if (strLen == 0) {return false;} else {for(int i = 0; i < strLen; ++i) {if (!Character.isWhitespace(str.charAt(i))) {return true;}}return false;}}}public static boolean hasText(@Nullable String str) {return str != null && !str.isBlank();}

http://www.lryc.cn/news/257551.html

相关文章:

  • 智慧电力运维综合辅助监控系统
  • v-model和:model的区别
  • 网络攻击(二)--情报搜集阶段
  • oracle异常:ORA-03297:文件包含在请求的 RESIZE 值以外使用的数据
  • Redis 环境搭建
  • 什么是Helpdesk?对工程师有什么帮助?
  • flutter添加全局水印
  • Usergolang 一些优质关于sip协议包
  • MYSQL数据类型详解
  • 解决vue3 动态引入报错问题
  • Mysql dumpling 导入导出sql文件
  • 【数字经济】你必须知道的SABOE数字化转型
  • 【Python网络爬虫入门教程2】成为“Spider Man”的第二课:观察目标网站、代码编写
  • vue2和vue3中注意全局属性的区别(例如全局使用axios )
  • 数字系统设计(EDA)实验报告【出租车计价器】
  • 309. 买卖股票的最佳时机含冷冻期(leetcode) 动态规划思想
  • 3D渲染和动画制作软件KeyShot Pro mac附加功能
  • 集合的几个遍历方法
  • 【使用apache snakeyaml 管理yml文件】
  • uniapp - 简单版本自定义tab栏切换
  • 工作中常用的RabbitMQ实践
  • 程序员常用英文单词
  • QStringListModel 是 Qt 框架中用于在模型-视图(Model-View)架构中展示字符串列表的类
  • vue使用echarts显示中国地图
  • ATM的转账
  • 在Windows 10或11中,复制和粘贴不起作用,不一定是键盘的问题
  • git 使用记录
  • 支持大模型训练的计算机系统
  • SAP ABAP-AVL-OO方法中的ALV的如何自己添加按钮及其响应
  • uniapp移动端悬浮按钮(吸附边缘)