StringUtils是org.apache.commons.lang jar包里面的类方法,当输入参数String为null则不会抛出NullPointerException,而是做了相应处理,null是安全的。而JDK中String类里面的方法会抛出NullPointerException。下面我介绍StringUtils一些常用的方法,它和String类的方法有很多相似的地方。开发的时候用StringUtils的jar才可以用这个类里面的方法,其实StringUtils类的方法也可以用String类里面方法实现,开发的时候根据需要来选择用哪一类的方法吧。

1.public static boolean isEmpty(String str)

判断某字符串是否为空,为空的标准是str == null 或 str.length() == 0。但是字符串为空格为true。

StringUtils.isEmpty(null)      = true

StringUtils.isEmpty("")        = true

StringUtils.isEmpty(" ")       = false

StringUtils.isEmpty("bob")     = false

StringUtils.isEmpty("  bob  ") = false

源码:

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

2.public static boolean isNotEmpty(String str)

判断某字符串是否不为空,与isEmpty(String str)相反。

3.public static boolean isBlank(String str)

判断字符串是否为空,字符长度为0同时也包括空白符的字符串,这个比isEmpty范围更广。

StringUtils.isBlank(null)      = true

StringUtils.isBlank("")        = true

StringUtils.isBlank(" ")       = true

StringUtils.isBlank("bob")     = false

StringUtils.isBlank("  bob  ") = false

源码:

public static boolean isBlank(String str) {

         int strLen;

         if (str == null || (strLen = str.length()) == 0) {

             return true;

          }

          for (int i = 0; i < strLen; i++) {

              if ((Character.isWhitespace(str.charAt(i)) == false)) {

                   return false;

               }

           }

           return true;

       }

改写源码方法:

public static boolean isBlank(String str) {

        if (str == null || ( str.trim().length()) == 0) {

            return true;

         }

       return false;

       /*int strLen;

        if (str == null || (strLen = str.length()) == 0) {

            return true;

         }

         for (int i = 0; i < strLen; i++) {

             if ((Character.isWhitespace(str.charAt(i)) == false)) {

                  return false;

              }

          }

          return true;*/

      }

4. public static boolean isNotBlank(String str)

判断字符串是否不为空,字符长度不为0同时不为空白符的字符串,与isBlank(String str) 方法相反。

5. public static String trim(String str)

去掉字符串两端的控制符(char <= 32),如果输入为null则返回null。注意:字符串中间有控制符则不会去掉,trim()方法在String里面也有这个方法,但是两者有一定的区别,当对null进行相关操作的话,StringUtils.trim(null)会返回为null,但是调用null.trim()则会抛出java.lang.NullPointerException异常。

StringUtils.trim(null)          = null

StringUtils.trim("")            = ""

StringUtils.trim("     ")       = ""

StringUtils.trim("    \b \t \n \f \r    ") = ""

StringUtils.trim("abc")         = "abc"

StringUtils.trim("abc   def")  = "abc   def"

StringUtils.trim("    abc    ") = "abc"

源码:

public static String trim(String str) {

return str == null ? null : str.trim();

}

6.public static String strip(String str)

去掉字符串两端的空白符(whitespace),如果变为null,则返回null

7. public static String swapCase(String str)

把字符串中的字符大写转换为小写,小写转换为大写。

StringUtils.swapCase(null)                 = null

StringUtils.swapCase("")                   = ""

StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"

StringUtils一些常用方法的更多相关文章

  1. StringUtils 的常用方法

    StringUtils 方法的操作对象是 Java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 ...

  2. org.apache.commons.lang.StringUtils的常用方法

    org.apache.commons.lang.StringUtils是apache的commons-lang-x.x.jar下的包,里面包含很多字符串操作方法, 官网(http://commons. ...

  3. StringUtils类常用方法介绍

    StringUtils方法包的位置:org.apache.commons.lang.StringUtils StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 ...

  4. 关于StringUtils的常用方法

    StringUtils.split(String, char) * <pre> * StringUtils.split(null, *) = null * StringUtils.spli ...

  5. StringUtils中常用方法leftPad(),rightPad(),center()

    org.apache.commons.lang3的StringUtils 方法如下: public static String leftPadTime(Integer time){    return ...

  6. StringUtils工具类的常用方法

    StringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String ...

  7. StringUtils工具类常用方法详解

    StringUtils 常用方法 1.isEmpty(String str) 是否为空,空格字符为false2.isNotEmpty(String str) 是否为非空,空格字符为true3.isBl ...

  8. StringUtils常用方法+StringUtils详细介绍

    StringUtils常用方法+StringUtils详细介绍   StringUtils用法+StringUtils详细介绍博文来源:http://yijianfengvip.blog.163.co ...

  9. StringUtils常用方法介绍

    要使用StringUtils类,首先需要导入:import org.apache.commons.lang.StringUtils;这个包 在maven项目中需要添加下面这个依赖: <depen ...

随机推荐

  1. windows10中远程登录ubuntu16.04的桌面

      1. 安装xrdp sudo apt-get install xrdp 2. 安装vnc4server sudo apt-get install vnc4server tightvncserver ...

  2. 【codevs1690】开关灯 (线段树 区间修改+区间求和 (标记))

    [codevs1690]开关灯 2014年2月15日4930 题目描述 Description YYX家门前的街上有N(2<=N<=100000)盏路灯,在晚上六点之前,这些路灯全是关着的 ...

  3. NetBeans无法使用svn相关功能

    本来中NetBeans使用subversion功能只要下载过subversion客户端就可以直接使用了,我也一直是这样的,可是今天忽然的不能用了,发现问题是因为我在文件中使用subversion的比较 ...

  4. 洛谷 P5108 仰望半月的夜空 解题报告

    P5108 仰望半月的夜空 题目描述 半月的夜空中,寄托了多少人与人之间的思念啊 曦月知道,这些思念会汇集成一个字符串\(S(n = |S|)\) 由于思念汇集的过于复杂,因此曦月希望提炼出所有的思念 ...

  5. 函数、可变参数、keyword-only参数、实参解构

    函数的数学定义:y=f(x) ,y是x的函数,x是自变量.y=f(x0, x1, ..., xn) python中的函数: 由函数名称.参数列表.和若干语句组成的语句块构成,完成一定的功能,是组织代码 ...

  6. 解题:HEOI 2012 朋友圈

    题面 因为$A$中只有奇偶性不同的人才能做朋友,所以A中只可能出0/1/2个人,分类讨论 然后$B$中求最大团,转成补图后正好是个二分图(不然就不用做了),求最大点独立集=总点数-最大匹配 我洛谷上交 ...

  7. Libre 6008 「网络流 24 题」餐巾计划 (网络流,最小费用最大流)

    Libre 6008 「网络流 24 题」餐巾计划 (网络流,最小费用最大流) Description 一个餐厅在相继的N天里,第i天需要Ri块餐巾(i=l,2,-,N).餐厅可以从三种途径获得餐巾. ...

  8. 【POJ1958】汉诺塔+

    题目大意:给定一个四个柱子的汉诺塔,N 个盘子,求最少多少步移动到另一个柱子上. 题解:\(f[n]=min(2*f[i]+d[n-i])\),其中 \(d[i]\) 为汉诺三塔最小移动次数.M 塔同 ...

  9. Redis连接的客户端(connected_clients)数过高或者不减的问题解决方案

    最近的项目上使用ServiceStack.Redis上了redis缓存,其中遇到了很多问题.. 比如说 某一天发现redis做的缓存竟然失效了,然后查了下日志  报错max number of cli ...

  10. sqlserver收缩日志的几种方式

    sqlserver收缩日志的几种方式   [sql] --参考    压缩日志及数据库文件大小      /*--特别注意       请按步骤进行,未进行前面的步骤,请不要做后面的步骤    否则可 ...