不知道你们的代码中是否会出现如下情况if("".equals(str) && str == null) {}, 反正我以前判断字符串为空的时候经常这么干,但实际上这么写代码很啰嗦,commons-lang-2.5.jar包中供了一个很方便的工具类StringUtils,今天就是简单介绍一下这个工具类支持哪些常用功能,心中有个数,以后写代码的时候也可以直接用。
1、判断字符串是否为空isEmpty()和isBlank()
String str1=""; String str2=" "; String str3=null; System.out.println(StringUtils.isEmpty(str1)); //true System.out.println(StringUtils.isEmpty(str2)); //false System.out.println(StringUtils.isEmpty(str3)); //true System.out.println(StringUtils.isBlank(str1)); //true System.out.println(StringUtils.isBlank(str2)); //true System.out.println(StringUtils.isBlank(str3)); //true
通过代码的执行情况我们就看明白了,也看到了isEmpty()和isBlank()两个函数的区别。
2、去空格trim()
如果字符串是null,那么返回null,不为null的时候正常去除左右空格
3、如果是null值就转换成空字符串,trimToEmpty()
System.out.println(StringUtils.trimToEmpty(" abc ")); //abc System.out.println(StringUtils.trimToEmpty(null)); //空字符串
4、indexOf() 查找位置
System.out.println(StringUtils.indexOf(null, "abc")); //-1 System.out.println(StringUtils.indexOf("aabcd", "abc")); //0
没必要往下继续写了,发现StringUtils类的源代码提供的方法大多是与String类提供的方法重名的,使用StringUtils类最大的好处就是可以避免空指针的问题!
时间: 2024-11-03 01:47:35