stringutils.isempty和isnotblank
时间: 2023-09-04 10:12:37 浏览: 83
这两个方法都是用于判断字符串是否为空的方法。但是它们的判断条件略有不同。
`StringUtils.isEmpty()` 方法会判断字符串是否为 null 或者长度为 0,如果是则返回 true,否则返回 false。
`StringUtils.isNotBlank()` 方法则会先去掉字符串两端的空格,再判断是否为空。如果字符串为 null 或者去掉空格后长度为 0,则返回 false,否则返回 true。
因此,如果你想判断一个字符串是否为空,可以优先使用 `StringUtils.isBlank()` 方法。
相关问题
stringutils中isempty和isnotblank的区别
StringUtils是Apache Commons Lang库中的一个类,其中包含了很多字符串操作的方法。
isEmpty方法用于判断字符串是否为空,即为null或长度为0。示例代码:
```
StringUtils.isEmpty(null); // true
StringUtils.isEmpty(""); // true
StringUtils.isEmpty(" "); // false
StringUtils.isEmpty("bob"); // false
StringUtils.isEmpty(" bob "); // false
```
isNotBlank方法用于判断字符串是否为非空白字符串,即不为null、不为空字符串、不全由空格字符组成。示例代码:
```
StringUtils.isNotBlank(null); // false
StringUtils.isNotBlank(""); // false
StringUtils.isNotBlank(" "); // false
StringUtils.isNotBlank("bob"); // true
StringUtils.isNotBlank(" bob "); // true
```
因此,两者的区别在于对空格字符的处理上。isEmpty只判断字符串是否为空,而isNotBlank判断是否为非空白字符串。
public List<Document> listDocument(PageInfo<?> pageInfo, Document document) { PageHelper.startPage(pageInfo.getCurrent(), pageInfo.getPageSize()); List<Document> documentList = documentMapper.selectList(Wrappers.<Document>lambdaQuery() .like(StringUtils.isNotBlank(document.getTitle()), Document::getTitle, document.getTitle()) .like(StringUtils.isNotBlank(document.getSummary()), Document::getSummary, document.getSummary()) .eq(document.getCateId() != null, Document::getCateId, document.getCateId()) .eq(document.getDeptId() != null, Document::getDeptId, document.getDeptId()) .eq(document.getActive() != null, Document::getActive, document.getActive()) .eq(document.getRecommend() != null, Document::getRecommend, document.getRecommend()) .eq(document.getCarousel() != null, Document::getCarousel, document.getCarousel()) .orderByDesc(Document::getDateTime) ); if (!documentList.isEmpty()) { List<Long> documentIdList = documentList.stream().map(Document::getCateId).collect(Collectors.toList()); Map<Long, Cate> cateMap = cateMapper.selectBatchIds(documentIdList).stream().collect(Collectors.toMap(Cate::getId, e -> e, (e1, e2) -> e2)); for (Document documentItem : documentList) { documentItem.setCate(cateMap.get(documentItem.getCateId())); } } return documentList; }
这段代码是一个用于根据条件查询文档列表的方法。方法的参数包括一个 PageInfo 对象和一个 Document 对象。PageInfo 是用于分页查询的工具类,包含当前页码和页面大小等信息。Document 是文档的实体类。
在方法内部,首先使用 PageHelper.startPage() 方法设置分页参数。然后使用 documentMapper.selectList() 方法进行查询,查询条件使用了 Wrappers.<Document>lambdaQuery() 来构建。
在 lambdaQuery() 内部,根据传入的 document 对象的属性值来构建查询条件。使用 StringUtils.isNotBlank() 判断属性值是否为空,如果不为空,则使用 like() 方法进行模糊匹配,如果为空则不添加该条件。使用 eq() 方法进行相等匹配。
最后,通过 orderByDesc() 方法按照文档的日期时间进行降序排序。
如果查询结果不为空,则通过 documentList.stream().map().collect(Collectors.toList()) 获取文档列表中的所有文档分类ID,并使用 cateMapper.selectBatchIds() 批量查询对应的文档分类信息。
然后,通过遍历文档列表,并通过 cateMap.get() 方法设置每个文档的分类信息。
最后,返回查询结果 documentList。
阅读全文