今天在公司看到同事写的代码,无意发现在判断字符串类型时,使用的是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方法尽量少用,减少不必要的麻烦。判断是 注意写法