常用的判空有如下两种isEmpty(String str)和isBlank(String str)、StringUtils.isEmpty(String str)
一下是二者区别:
//isBlank判断某字符串是否为空或长度为0或由空白符(whitespace)构成
System.out.println("===============isBlank===============");
System.out.println(StringUtils.isBlank(""));
System.out.println(StringUtils.isBlank(null));
System.out.println(StringUtils.isBlank(" "));
System.out.println(StringUtils.isBlank("abc"));
//对于制表符、换行符、换页符和回车符StringUtils.isBlank()均识为空白符
System.out.println(StringUtils.isBlank("\t"));
System.out.println(StringUtils.isBlank("\r"));
System.out.println(StringUtils.isBlank("\n"));
System.out.println(StringUtils.isBlank("\f"));
//\b为单词边界符
System.out.println(StringUtils.isBlank("\b"));
//判断某字符串是否为空,为空的标准是str==null或str.length()==0
System.out.println("===============isEmpty===============");
System.out.println(StringUtils.isEmpty(""));
System.out.println(StringUtils.isEmpty(null));
System.out.println(StringUtils.isEmpty(" "));
System.out.println(StringUtils.isEmpty("abc"));
//对于制表符、换行符、换页符和回车符StringUtils.isEmpty()均识为非空字符串
System.out.println(StringUtils.isEmpty("\t"));
System.out.println(StringUtils.isEmpty("\r"));
System.out.println(StringUtils.isEmpty("\n"));
System.out.println(StringUtils.isEmpty("\f"));
//\b为单词边界符
System.out.println(StringUtils.isEmpty("\b"));
区别在于 当需要判断指定字符串是否为空(“”||null)时使用isEmpty
当有特殊需求 例如空格也算为空,\t\r\n这种默认视为空的可以使用isBlank
在判断“”与null时二者可以互相替换,若有空格isEmpty是false的但是isBlank就是true