spring判空工具类_spring util包 StringUtils工具类中的isEmpty() 方法解析

本文探讨了在Spring框架中,如何使用StringUtils工具类的isEmpty()方法来判断字符串是否为空或仅包含空格,并提醒开发者注意该方法无法处理包含空格的特殊情况。文章还建议对不熟悉的API谨慎使用,以避免潜在问题。此外,提到了Java集合、Collections工具类、以及其它字符串操作的相关方法。

今天在公司看到同事写的代码,无意发现在判断字符串类型时,使用的是StringUtils工具类中的isEmpty()去判断如下所示

@RequestMapping(value = "/pub/feebasisinfo/combcost/list", method = RequestMethod.POST)

public Result list(@RequestBody CombCostParam param) {

printRequestParam(param);

PageUtil page = new PageUtil();

page.setCurrentPage(param.getCurrentPage());

page.setPageSize(param.getPageSize());

page.setConditions(param);

if (!StringUtils.isEmpty(param.getKeyword()) && !param.getKeyword().equals("")) {

param.setKeyword(param.getKeyword().toUpperCase());

}

combCostService.list(page);

return success(page);

}

于是笔者去看了下关于isEmpty()方法的源代码如下

这里若是采用isEmpty()方法去判断某个字符串是否为null或者是否为“”时,若改字符串为“ ”时(注意这里中间有一个空格),如图所示

总结:

1、isEmpty方法只能判断非空和空字符串,不能自动去判断空格;

2、length方法也不能自动去判断空格;

3、最好自己写一下对不熟悉的api方法尽量少用,减少不必要的麻烦。判断是 注意写法

Java集合(1):Collections工具类中的static方法

与Arrays一样,Collections类中也有一些实用的static方法. (1) 排序操作 reverse(List list):反转指定List集合中元素的顺序 shuffle(List li ...

StringUtils工具类中的isBlank()方法和isEmpty()方法的区别

1.isBlank()方法 1 public static boolean isBlank(String str) { 2 int strLen; 3 if (str == null || (strL ...

TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?

TreeSet要求存放的对象所属的类必须实现Comparable接口,该接口提供了比较元素的compareTo()方法,当插入元素时会回调该方法比较元素的大小.TreeMap要求存放的键值对映射的键必 ...

TreeMap和TreeSet在排序时如何比较元素,Collections工具类中的sort()方法如何比较元素

TreeSet和TreeMap排序时比较元素要求元素对象必须实现Comparable接口 Collections的sort方法比较元素有两种方法: 元素对象实现Comparable接口 实体类Dog ...

StringUtils工具类常用方法汇总1(判空、转换、移除、替换、反转)

Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方 ...

StringUtils工具类常用方法汇总(判空、转换、移除、替换、反转)

Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总 ...

StringUtils工具类常用方法汇总:判空、转换、移除、替换、反转。

Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总 ...

HttpTool.java(在java tool util工具类中已存在) 暂保留

HttpTool.java 该类为java源生态的http 请求工具,不依赖第三方jar包 ,即插即用. package kingtool; import java.io.BufferedReader ...

随机推荐

Robotframework框架AndroidLibrary库安装

1.Ruby官网(http://rubyinstaller.org/)下载系统对应安装包进行安装 2.Ruby官网(http://rubyinstaller.org/)下载对应DevKit,运行解压到 ...

java的nio之:java的nio系列教程之channel的概念

一:java的nio的channel Java NIO的通道类似流,但又有些不同: ==>既可以从通道中读取数据,又可以写数据到通道.但流的读写通常是单向的. ==>通道可以异步地读写. ...

如何将下载好的jar包添加到maven本地仓库

1.首先在pom.xml中添加     org.springframework.security    ...

Make 命令教程 -- 阮一峰

摘自http://www.ruanyifeng.com/blog/2015/02/make.html Make 命令教程 作者: 阮一峰 日期: 2015年2月20日 代码变成可执行文件,叫做编译(c ...

android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明

android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如a ...

Shell脚本了解

一.什么是Shell Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面, ...

Oracle timestamp类型转换成date类型

今天需要根据时间判断,统一修改某一个字段的数据.然后打开数据库发现,时间类型为timestamp类型.如下: 然后呢,这对我不是喝口水就可以解决的问题吗? 解决方案如下:我需要改这张表某个字段的内容, ...

TCP的三次握手 与 四次挥手

TCP的连接建立是一个三次握手过程,目的是为了通信双方确认开始序号,以便后续通信的有序进行 主要步骤: 服务器一定处于Listen状态,否则客户端发过来的连接会被拒绝.注:服务器和客户端的角色是相对的 ...

Python打包方法——Pyinstaller (转)

Python版本:Python3.5.2 一.安装Pyinstaller 1.安装pywin32 下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值