StringUtils工具类是用来做字符串的操作的,有两种,org.apache.commons.lang3包下的StringUtils类和org.springframework.util包下的StringUtils类,org.apache.commons.lang3包下的StringUtils类常用的判空有两种:isEmpty和isBlank。下面分别介绍一下。
1.org.apache.commons.lang3和org.springframework.util包中的StringUtils类的区别:
org.apache.commons.lang3包下的StringUtils类,判断是否为空的方法参数是字符序列类,也就是string类型
org.springframework.util包下的参数是object类,也就是不仅能判断string类型,还能判断其他类型,如long等类型(此包下的更实用)
2.isEmpty和isBlank的区别:
这两个方法都是判断字符是否为空的,前者要求没有任何字符,后者要求是空白字符,isBank判断的空字符其实包括了isEmpty,也就是说isEmpty判断的范围比isBank小。而两者最大的区别就在于——isBank能判空格符而isEmpty不能。
3.例子:
String str1=null
String str2=""
String str3=" "
String str4="aa"
//isEmpty
System.out.println(StringUtils.isEmpty(str1))
System.out.println(StringUtils.isEmpty(str2))
System.out.println(StringUtils.isEmpty(str3))
System.out.println(StringUtils.isEmpty(str4))
//isBank
System.out.println(StringUtils.isBlank(str1))
System.out.println(StringUtils.isBlank(str2))
System.out.println(StringUtils.isBlank(str3))
System.out.println(StringUtils.isBlank(str4))
CollectionUtils是org.apache.commons.collections包中的工具类,提供了很多对集合的操作方法。
CollectionUtils.isNotEmpty(resultApply)
CollectionUtils.union(listA,listB);
CollectionUtils.intersection(listA,listB);
CollectionUtils.disjunction(listA,listB);
CollectionUtils.subtract(listA,listB);
CollectionUtils.isEqualCollection(listA,listB);
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
在之前和前端对接接口时出现了这种情况,我的接口文档写的是:界面选择一个分类就传分类id,如果不选就不传或者传空,但前端却给我传的是两个单引号。接口对分类id判空我使用的是isEmpty,他传来的单引号用isEmpty做校验不管用,识别的是字符串,后来我用了isBank也不行,忘了具体哪的问题,后来我是这样暂时解决的问题
if ("''".equals(categoryId) || StringUtil.isEmpty(labelIds) ) {
categoryId=null;
}