StringUtils(common-lang3)的isBlank方法的判断大于isEmpty方法

参考博客原址

https://www.cnblogs.com/yaya-yaya/p/6096539.html
https://www.cnblogs.com/zhaoyan001/p/6599477.html

StringUtils操作string安全不会报空指针

  • 首先, StringUtils方法的操作对象是java.lang.String类型的对象,是对JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数Stringnull则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。

例子

a.equals(b)

StringUtils.equals(CharSequence c1,CharSequence c2)

  • 前者如果a为null,会报null point exception,那用stringutils后者这个封装好的工具类就不会。

StringUtils的isEmpty和isBlank

  • 前者是要求没有任何字符,即str==null 或 str.length()==0返回true;

     public static boolean isEmpty(final CharSequence cs) {
        return cs == null || cs.length() == 0;
    }
    
  • 后者要求

    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))) {
                return false;
            }
        }
        return true;
    }
    

    显而易见包含了isEmpty的条件,且如果string中都是空白字符(无意义字符)也是返回true是blank的

    isEmpty判断的范围更小,isBlank包含了isEmpty ,例如"    "是blank的
    "

    "是blank的(我打了换行)

具体用法:

isEmpty
StringUtils.isEmpty(null) = true

StringUtils.isEmpty("") = true

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

StringUtils.isEmpty("   ") = false

StringUtils.isEmpty("bob") = false

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

  StringUtils.isNotEmpty("") = false

  StringUtils.isNotEmpty(" ") = true

  StringUtils.isNotEmpty("         ") = true

  StringUtils.isNotEmpty("bob") = true

  StringUtils.isNotEmpty(" bob ") = true

isBlank

判断某字符串是否为空或长度为0或由空白符(whitespace) 构成

 StringUtils.isBlank(null) = true

  StringUtils.isBlank("") = true

  StringUtils.isBlank(" ") = true

  StringUtils.isBlank("        ") = true

  StringUtils.isBlank("\t \n \f \r") = true   //对于制表符、换行符、换页符和回车符 

  StringUtils.isBlank()   //均识为空白符 

  StringUtils.isBlank("\b") = false   //"\b"为单词边界符 

  StringUtils.isBlank("bob") = false

  StringUtils.isBlank(" bob ") = false
isNotBlank

断某字符串是否不为空且长度不为0且不由空白符(whitespace) 构成,等于!isBlank(String str)

  StringUtils.isNotBlank(null) = false

  StringUtils.isNotBlank("") = 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Common Lang和Common Lang3是Apache软件基金会的两个开源Java库,它们提供了很多有用的工具类和方法,可以帮助我们简化Java编程。在本文中,我们将介绍如何使用Common Lang / Common Lang3中的一些常用工具类。 1. 字符串操作 a) StringUtilsStringUtils类提供了很多有用的方法来处理字符串。以下是一些常用方法: - 判断字符串是否为空或null ``` StringUtils.isEmpty(str) StringUtils.isBlank(str) // 包括空格、制表符、换行符等 ``` - 拼接字符串 ``` StringUtils.join(strArray, separator) ``` - 替换字符串 ``` StringUtils.replace(str, searchStr, replaceStr) ``` - 判断字符串是否是数字 ``` StringUtils.isNumeric(str) ``` - 截取字符串 ``` StringUtils.substring(str, start, end) ``` b) WordUtils类 WordUtils类提供了一些用于处理单词的方法,例如: - 将字符串转换为首字母大写或小写 ``` WordUtils.capitalize(str) WordUtils.uncapitalize(str) ``` - 将字符串转换为标题样式,即每个单词的首字母大写 ``` WordUtils.capitalizeFully(str) ``` 2. 数组操作 a) ArrayUtils类 ArrayUtils类提供了一些有用的方法来操作数组。以下是一些常用方法: - 判断数组是否为空或null ``` ArrayUtils.isEmpty(array) ``` - 数组拷贝 ``` ArrayUtils.copy(array) ``` - 数组查找 ``` ArrayUtils.indexOf(array, objectToFind) ``` - 数组反转 ``` ArrayUtils.reverse(array) ``` b) StringUtils类同样提供了一些有用的方法来操作字符串数组。 - 字符串数组转换为字符串 ``` StringUtils.join(strArray, separator) ``` - 按照分隔符将字符串转换为字符串数组 ``` StringUtils.split(str, separator) ``` 3. 随机数生成 a) RandomUtils类 RandomUtils类提供了一些方法来生成随机数。以下是一些常用方法: - 生成指定范围内的随机整数 ``` RandomUtils.nextInt(min, max) ``` - 生成指定长度的随机字符串 ``` RandomUtils.nextString(length) ``` 4. 日期处理 a) DateUtils类 DateUtils类提供了一些方法来处理日期。以下是一些常用方法: - 获取当前日期 ``` DateUtils.now() ``` - 日期格式化 ``` DateUtils.format(date, pattern) ``` - 日期加减 ``` DateUtils.addDays(date, amount) DateUtils.addMonths(date, amount) DateUtils.addYears(date, amount) ``` b) DateFormatUtils类 DateFormatUtils类提供了一些方法来格式化日期。以下是一些常用方法: - 将日期格式化为指定格式的字符串 ``` DateFormatUtils.format(date, pattern) ``` - 将当前日期格式化为指定格式的字符串 ``` DateFormatUtils.format(System.currentTimeMillis(), pattern) ``` 以上就是Common Lang / Common Lang3中一些常用的工具类和方法的介绍。这些工具类和方法可以帮助我们更快捷、更高效地编写Java程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值