org.apache.commons.lang.StringUtils - java空字符串判断

博客介绍了isBlank与isEmpty的区别,主要体现在对空格(空白、white space)的判断上。例如“ ”,可认为是blank,但不是empty的,还给出了例子来源链接。
   if(StringUtils.isNotBlank(str))    //判断字符串不为空(""||null)
   if(StringUtils.isBlank(str))       //判断字符串为空,"  "判定为空

   if(StringUtils.isNotEmpty(str))    //判断字符串不为空(""||null||"  ")
   if(StringUtils.isEmpty(str))       //判断字符串为空,"  "判定为非空

 isBlank 与 isEmpty 区别在于对于空格(空白、white space)的判断;

对于"  ",可以认为是blank,但是不是empty的;

 

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

public static boolean isNotEmpty(String str) {
     return !isEmpty(str);
}

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

public static boolean isNotBlank(String str) {
    return !isBlank(str);
}

 

例子来自:https://www.cnblogs.com/zhaoyan001/p/6599477.html 

StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false //注意在StringUtils中空格作非空处理
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false

StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符
StringUtils.isBlank("\b") = false //"\b"为单词边界符
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false



StringUtils.isNotEmpty(null) = false
StringUtils.isNotEmpty("") = false
StringUtils.isNotEmpty(" ") = true
StringUtils.isNotEmpty("bob") = true
StringUtils.isNotEmpty(" bob ") = true



StringUtils.isNotBlank(null) = false
StringUtils.isNotBlank("") = false
StringUtils.isNotBlank(" ") = false
StringUtils.isNotBlank("\t \n \f \r") = false
StringUtils.isNotBlank("\b") = true
StringUtils.isNotBlank("bob") = true
StringUtils.isNotBlank(" bob ") = true

 

### 区别 - **版本与兼容性**:`org.apache.commons.lang.StringUtils` 是 Apache Commons Lang 早期版本中的类;`org.apache.commons.lang3.StringUtils` 是 Apache Commons Lang 3.x 版本引入的类,3.x 版本在设计上进行了许多改进,修复了早期版本的一些问题,同时增强了功能和性能,并且更符合现代 Java 编程的最佳实践。 - **功能特性**:`org.apache.commons.lang3.StringUtils` 相较于旧版本有更多的功能和优化。例如,在处理值和字符串时更加安全和健壮,提供了更多实用的字符串处理方法。 ### 使用方法 以下是使用 `org.apache.commons.lang3.StringUtils` 的一些常见示例: ```java import org.apache.commons.lang3.StringUtils; public class StringUtilsExample { public static void main(String[] args) { // 判断字符串是否为 boolean isEmpty = StringUtils.isEmpty(""); System.out.println("字符串是否为: " + isEmpty); // 去除字符串两端的白 String trimmed = StringUtils.trim(" hello "); System.out.println("去除两端白后的字符串: " + trimmed); // 拼接字符串 String joined = StringUtils.join(new String[]{"a", "b", "c"}, ","); System.out.println("拼接后的字符串: " + joined); } } ``` 使用 `org.apache.commons.lang.StringUtils` 的方法与之类似,只是需要替换导入的类路径。 ### 特性 #### org.apache.commons.lang3.StringUtils - **安全性**:对值和字符串的处理更加安全,许多方法在传入 `null` 时不会抛出 `NullPointerException`,而是返回合理的结果,如 `isEmpty(null)` 返回 `true`。 - **功能丰富**:提供了大量实用的字符串处理方法,如字符串的拼接、分割、替换、大小写转换、去除白等。 - **性能优化**:在实现上进行了性能优化,能够更高效地处理字符串操作。 #### org.apache.commons.lang.StringUtils - **基本功能**:具备一些基本的字符串处理功能,如判断字符串是否为、去除白等,但功能相对较少。 - **兼容性**:在一些旧项目中可能仍在使用,以保持与旧代码的兼容性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值