回答这个问题之前,我们先回顾一下Java工具类StringUtils中isEmpty()、isNotEmpty()、isBlank()、isNotBlank()、isNoneBlank方法
1、isEmpty() 方法为空的标准是 str==null 或 str.length()==0。
2、isNotEmpty() 方法源码即!isEmpty()。
3、isBlank() 方法检查字符序列是否为空白、空("")或空。这里所谓的空白就是“ ”,可以简单理解成空格。
其中System.out.println(StringUtils.isEmpty(" "));//false
System.out.println(StringUtils.isBlank(" "));//true
4、isNotBlank() 方法源码即!isBlank()
5、isNoneBlank()方法是否全部不包含任意null、空字符、空格字符
再回到问题,当我们new StringBuilder()时是创建一个空白可变字符串对象, 不含有任何内容,length()==0,所以StringUtils.isEmpty(new StringBuilder())是true。
为什么StringUtils.isEmpty(new StringBuilder())是true?
于 2023-12-04 18:21:28 首次发布