今天在公司看到同事写的代码,无意发现在判断字符串类型时,使用的是StringUtils工具类中的isEmpty()去判断如下所示
@RequestMapping(value = "/pub/feebasisinfo/combcost/list", method = RequestMethod.POST)
public Result list(@RequestBody CombCostParam param) {
printRequestParam(param);
PageUtil<CombCostVo> page = new PageUtil<CombCostVo>();
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方法尽量少用,减少不必要的麻烦。判断是 注意写法