commons-lang3的StringUtils类的常用方法总结(2)

开场白

    接着上一篇我们继续来学习StringUtils类中一些常用方法的使用,稍微补充一下,StringUtils类中,顾名思义,提供一些我们常用一些字符串校验的方法,比如,字符串是否为空,是否是数字,是否是英文字母等,一般使用在,输入参数的校验等

 

纯java方式实现参数空判断校验

    比如,我们在判断一个字符串是否为空或者null的时候,使用以下的方法

if(value == null || value.length()==0) {

     // dosomething

}

 

StringUtils类实现参数空判断校验

if(StringUtils.isBlank(value)) {

     // dosomething

}

    一目了然,做同样的事情,用很少的代码,这就是java世界中所期待的东西吧,其实,StringUtils#isBlank方法的具体实现也是用纯java实现是一样的,这只是一个简单的例子,StringUtils类中还有很多这样的方法,接下来我们继续学习

 

常用方法

  • isBlank

方法描述:传入的字符串是null或者空文字("")或者空格(whitespace)或者tab键的场合,返回true,否则返回false

参数类型:String

返回值类型:boolean


    public static boolean isBlank(CharSequence cs) {

测试代码:

import org.apache.commons.lang3.StringUtils;

public class IsBlankTest {

    public static void main(String[] args) {

        System.err.println(StringUtils.isBlank(null));
        System.err.println(StringUtils.isBlank(""));
        System.err.println(StringUtils.isBlank(" "));
        System.err.println(StringUtils.isBlank("    ")); // tab key
        System.err.println(StringUtils.isBlank("iosoft2020"));

    }

}
 

执行结果

true
true
true
true
false

 

  • isEmpty

方法描述:传入的字符串是null或者空文字("")的场合,返回true,否则返回false

参数类型:String

返回值类型:boolean


    public static boolean isEmpty(CharSequence cs) {

测试代码:

import org.apache.commons.lang3.StringUtils;

public class IsEmptyTest {

    public static void main(String[] args) {

        System.err.println(StringUtils.isEmpty(null));
        System.err.println(StringUtils.isEmpty(""));
        System.err.println(StringUtils.isEmpty(" "));
        System.err.println(StringUtils.isEmpty("iosoft2020"));

    }

}

执行结果

true
true
false
false

  • isBlank和isEmpty区别

源码注释

isBlank

    Checks if a CharSequence is whitespace, empty ("") or null.

isEmpty

    Checks if a CharSequence is empty ("") or null.

从注释来看,isBlank比isEmpty多check了一个东西,就是whitespace(空格),从我们上边运行的例子也能看出来

 

  • isNotBlank

方法描述:顾名思义,是isBlank取反的用法,传入的字符串不是null或者空文字("")或者空格(whitespace)或者tab键的场合,返回true,否则返回false

参数类型:String

返回值类型:boolean

    public static boolean isNotBlank(CharSequence cs) {

测试代码:

import org.apache.commons.lang3.StringUtils;

public class IsNotBlankTest {

    public static void main(String[] args) {

        System.err.println(StringUtils.isNotBlank(null));
        System.err.println(StringUtils.isNotBlank(""));
        System.err.println(StringUtils.isNotBlank("    "));
        System.err.println(StringUtils.isNotBlank("    ")); // tab key
        System.err.println(StringUtils.isNotBlank("iosoft2020"));
    }

}

执行结果

false
false
false
false
true

 

  • isNotEmpty

方法描述:同样顾名思义,是isEmpty取反的用法,传入的字符串不是null或者空文字("")的场合,返回true,否则返回false

参数类型:String

返回值类型:boolean


    public static boolean isNotEmpty(CharSequence cs) {

测试代码:

import org.apache.commons.lang3.StringUtils;

public class IsNotEmptyTest {

    public static void main(String[] args) {

        System.err.println(StringUtils.isNotEmpty(null));
        System.err.println(StringUtils.isNotEmpty(""));
        System.err.println(StringUtils.isNotEmpty(" "));
        System.err.println(StringUtils.isNotEmpty("iosoft2020"));
    }

}

执行结果

false
false
true
true

 

  • isNumeric

方法描述:传入的字符串只是数字的场合,返回true,否则返回false

参数类型:String

返回值类型:boolean


    public static boolean isNumeric(CharSequence cs) {

测试代码:

import org.apache.commons.lang3.StringUtils;

public class IsNumericTest {

    public static void main(String[] args) {

        System.err.println(StringUtils.isNumeric(null));
        System.err.println(StringUtils.isNumeric(""));
        System.err.println(StringUtils.isNumeric("iosoft"));
        System.err.println(StringUtils.isNumeric("2020"));
    }

}

执行结果

false
false
false
true

 

  • isNumericSpace

方法描述:传入的字符串只是数字或者空文字("")或者空格(whitespace)的场合,返回true,否则返回false

参数类型:String

返回值类型:boolean


    public static boolean isNumericSpace(CharSequence cs) {

测试代码:

import org.apache.commons.lang3.StringUtils;

public class IsNumericSpaceTest {

    public static void main(String[] args) {

        System.err.println(StringUtils.isNumericSpace(null));
        System.err.println(StringUtils.isNumericSpace(""));
        System.err.println(StringUtils.isNumericSpace(" "));
        System.err.println(StringUtils.isNumericSpace("iosoft"));
        System.err.println(StringUtils.isNumericSpace("2020 "));
    }

}

执行结果

false
true
true
false
true

 

  • isWhitespace

方法描述:传入的字符串只是空文字("")或者空格(whitespace)或者tab键的场合,返回true,否则返回false

参数类型:String

返回值类型:boolean


    public static boolean isWhitespace(CharSequence cs) {

测试代码:

import org.apache.commons.lang3.StringUtils;

public class IsWhitespaceTest {

    public static void main(String[] args) {

        System.err.println(StringUtils.isWhitespace(null));
        System.err.println(StringUtils.isWhitespace(""));
        System.err.println(StringUtils.isWhitespace(" "));
        System.err.println(StringUtils.isWhitespace("    ")); // tab key
        System.err.println(StringUtils.isWhitespace("iosoft2020"));
    }

}

执行结果

false
true
true
true
false

 

总结

    StringUtils类的总结,就告一段落,肯定还有很多常用的方法,如果还有补充,期待大家的留言,我会继续整理,看到身边做公众号优秀的人,每天都在输出着优秀的内容,我想我也来试试,希望自己能坚持下来,完善自己的知识体系的同时,更期望能帮到需要这些知识点的人,引用陆游的《冬夜读书示子聿》诗来结束这篇文章

古人学问无遗力,少壮工夫老始成

纸上得来终觉浅,绝知此事要躬行


版权声明:本文为dy051107原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。