欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

StringUtils里的isEmpty和isBlank的区别

程序员文章站 2023-11-08 18:00:16
这边首先以一个简单的测试代码来解释这两者的区别: 由此可以看出“空格”使用isEmpty结果是false,而使用isBlank时结果是true。 再截取源码来看看: isEmpty() isBlank() 综上:isBlank 是在 isEmpty 的基础上进行了为空(字符串都为空格、制表符、tab ......

这边首先以一个简单的测试代码来解释这两者的区别:

@test
void stringtest(){
string a = " "; boolean empty = stringutils.isempty(a); boolean blank = stringutils.isblank(a); system.out.println(empty);//false system.out.println(blank);//true }

由此可以看出“空格”使用isempty结果是false,而使用isblank时结果是true。

再截取源码来看看:

isempty()

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

isblank()

public static boolean isblank(charsequence cs) {
    int strlen;
    if (cs != null && (strlen = cs.length()) != 0) {
        for(int i = 0; i < strlen; ++i) {
       // 判断字符是否为空格、制表符、tab if (!character.iswhitespace(cs.charat(i))) { return false; } } return true; } else { return true; } }

综上:isblank 是在 isempty 的基础上进行了为空(字符串都为空格、制表符、tab 的情况)的判断。(一般更为常用)