StringUtils里的isEmpty方法和isBlank方法的区别

tech2022-10-30  96

isEmpty方法和isBlank方法的区别

在写代码中,经常需要对字符串做一些校验。 比如字符串是否为空,是否为null,是否去掉空格,是否去掉换行符,是否去掉制表符等等;

我们可以用StringUtils类的isEmpty()和isBlank()来做判断,而这两个方法有什么区别呢,我们可以看看源码:

isEmpty()只有是否为空和是否存在作为依据。

public static boolean isEmpty(CharSequence cs) { return cs == null || cs.length() == 0; }

isBlank() 是在 isEmpty 的基础上进行了为空,字符串都为空格、制表符、tab 的情况的判断。

public static boolean isBlank(CharSequence cs) { int strLen; if (cs != null && (strLen = cs.length()) != 0) { for(int i = 0; i < strLen; ++i) { if (!Character.isWhitespace(cs.charAt(i))) { return false; } } return true; } else { return true; } }

实际应用中isBlank更为实用;

大家可以通过这样的例子去测试:

StringUtils.isEmpty("aaa") = false StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false StringUtils.isBlank("aaa") = false StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true

有帮助可以点个赞哦!!!

最新回复(0)