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. BZOJ4559 JLOI2016成绩比较(容斥原理+组合数学+斯特林数)

    容斥一发改为计算至少碾压k人的情况数量,这样对于每门课就可以分开考虑再相乘了.剩下的问题是给出某人的排名和分数的值域,求方案数.枚举出现了几种不同的分数,再枚举被给出的人的分数排第几,算一个类似斯特林 ...

  2. 初识Java Enum

    enum 的全称为 enumeration, 是 JDK 1.5  中引入的新特性,存放在 java.lang 包中. enum是关键字,感觉它跟class.interface是并列的,并且不能跟fi ...

  3. 【bzoj2875】 Noi2012—随机数生成器

    http://www.lydsy.com/JudgeOnline/problem.php?id=2875 (题目链接) 题意 求${X_{n}}$. Solution 矩乘板子,这里主要讲下会爆lon ...

  4. POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径)

    POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径) Description Background Hugo ...

  5. 20145215卢肖明《网络对抗》逆向及Bof基础

    20145215卢肖明<网络对抗>逆向及Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任 ...

  6. SQL Server深入理解“锁”机制

    相比于 SQL Server 2005(比如快照隔离和改进的锁与死锁监视),SQL Server 2008 并没有在锁的行为和特性上做出任何重大改变.SQL Server 2008 引入的一个主要新特 ...

  7. 一文掌握Docker Compose

    目录 Docker Compose介绍 Docker Compose安装 Docker Compose基本示例 1.基本文件及目录设置 2.创建一个Dockerfile 3.通过docker-comp ...

  8. angular.module()参数问题

    var app = angular.module('myApp', []); 第二个参数是依赖的模块,因为这里不需要依赖其它模块,因此为空,但是[]不能省略.

  9. bzoj千题计划198:bzoj1084: [SCOI2005]最大子矩阵

    http://www.lydsy.com/JudgeOnline/problem.php?id=1084 m=1: dp[i][j] 前i个数,选了j个矩阵的最大和 第i个不选:由dp[i-1][j] ...

  10. expect 交互 telnet 交互

    telnet 交互 #!/bin/bash Ip="10.0.1.53" a="\{\'method\'\:\'doLogin\'\,\'params\'\:\{\'uN ...