首页 > 代码库 > StringUtils 中 isEmpty 和 isBlank 的区别
StringUtils 中 isEmpty 和 isBlank 的区别
在项目的工作学习中经常用到了 apache commons 中的 StringUtils 的 isBlank 和 isEmpty 来判断字符串是否为空,这个方法都是判断字符串是否为空做判断的,以至于把我搞混了!!! 欲哭无泪啊,索性写个帖子记录下来。方便以后学习。
不多说,我们直接看源码:
isBlank:
public static boolean isBlank(final CharSequence cs) { int strLen; if (cs == null || (strLen = cs.length()) == 0) { return true; } for (int i = 0; i < strLen; i++) { if (Character.isWhitespace(cs.charAt(i)) == false) { return false; } } return true; }
isEmpty:
public static boolean isEmpty(final CharSequence cs) { return cs == null || cs.length() == 0; }
接着我们看几个例子就一目了然了:
//isBlank StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true StringUtils.isBlank("bob") = false StringUtils.isBlank(" bob ") = false //isEmpty StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false StringUtils.isEmpty("bob") = false StringUtils.isEmpty(" bob ") = false
我们可以看到大致没有什么太大的改动主要是对于空字符串的判断(" ").对于 isBlank为真而 isEmpty 为假。
StringUtils 中 isEmpty 和 isBlank 的区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。