isBlank与isEmpty的区别

来源:互联网 发布:淘宝上有卖大便的妈 编辑:程序博客网 时间:2024/06/09 16:38
常用的判空有如下两种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
原创粉丝点击