回答这个问题之前,我们先回顾一下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。