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

本文详细解析了Java中字符串判空的两种方法:isEmpty()和isBlank()的区别。isEmpty()仅检查字符串是否为空或不存在,而isBlank()在此基础上还判断字符串是否全为空格、制表符等空白字符。

 1.isEmpty 没有忽略空格参数,是以是否为空和是否存在为判断依据。


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

StringUtils类中`isBlank``isEmpty`方法存在明显区别: - **判断依据**:`isEmpty()`方法没有忽略空格,是以是否为空是否存在为判断依据;`isBlank()`方法增加了字符串为空格、制表符、换行符、换页符、回车符等空字符的判断,即`isBlank()`的判断范围更大,它在`isEmpty()`方法的基础上,包括了空字符的判断。例如,`isEmpty`对于空格字符串`" "`会判定为非空,而`isBlank`会判定为空白字符串。在实际开发中,`isBlank()`方法更加常用[^1][^3]。 - **来源与功能细节**:`isBlank()`方法来自于 Apache Commons Lang 库中的 StringUtils 类,该方法会先检查字符串是否为 null,然后再检查去除两端空白字符后是否为空字符串。如果字符串为 null 或者去除两端空白字符后为空字符串,则返回 true;否则返回 false。`isEmpty()`方法是 Java 中 String 类的实例方法,这个方法只会检查字符串是否为空字符串,不会检查字符串是否为 null 或者去除两端空白字符后是否为空字符串。如果字符串为空字符串,则返回 true;否则返回 false[^4]。 以下是示例代码: ```java import org.apache.commons.lang3.StringUtils; public class TestStringUtils { public static void main(String[] args) { System.out.println(StringUtils.isBlank(null)); // true System.out.println(StringUtils.isBlank("")); // true System.out.println(StringUtils.isBlank(" ")); // true System.out.println(StringUtils.isBlank("\t")); // true System.out.println(StringUtils.isBlank("扬帆向海")); // false System.out.println(StringUtils.isBlank(" 扬帆向海 ")); // false System.out.println(StringUtils.isEmpty(null)); // 会抛出NullPointerException,因为是String实例方法 System.out.println(StringUtils.isEmpty("")); // true System.out.println(StringUtils.isEmpty(" ")); // false } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码海无涯苦做舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值