StringUtils 中 isEmpty 和 isBlank 的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 的区别的主要内容,如果未能解决你的问题,请参考以下文章
StringUtils.isBlank(str)和StringUtils.isEmpty(str)的区别
StringUtils 中 isEmpty 和 isBlank 的区别
StringUtils.isEmpty和StringUtils.isBlank的区别
StringUtils中isEmpty 和isBlank的区别: