美文网首页
推荐一个操作字符串超级好用的工具类——StringUtils 类

推荐一个操作字符串超级好用的工具类——StringUtils 类

作者: Java技术人 | 来源:发表于2022-07-31 09:26 被阅读0次

    StringUtils 工具类

    1. StringUtils 工具类介绍

    • StringUtils 是 JDK 提供的一个操作 String 字符串的工具类。他最大的特点就是对 null 是安全的 。及如果输入的字符串是 null,不会抛出 NullPointerException 错误。StringUtils 对 null 做了相应的处理,当传递是 mull 的时候返回的也是 null。

    • StringUtils 中提供了超级多的方法,并且都是被 static 关键字 修饰的。这就意味着我们直接使用类名调用即可

    2. CharSequence 和 String 的区别

    • CharSequence 是一个接口,用于表示有序的字符集合,并提供了一些基本的操作方法。
    CharSequence是一个接口,用于表示有序的字符集合,并提供了一些基本的操作方法。
    
    • CharSequence 与 String 都能用于定义字符串,但 CharSequence 的值是 可读可写序列 ,而 String 的值是 只读序列

    • String、StringBuffer、StringBuilder 都实现了 CharSequence 这个接口。

    注意:CharSequence 是一个接口,不可以直接通过 new 的方式来创建一个实例对象。

     CharSequence cs=new CharSequence(“Java”)  // 报错
    

    但是可以直接进行赋值来创建一个实例对象。

    CharSequence str = “Java”;  // 成功
    

    解释:因为 String 类型的数据存在常量池,此时其实真正创建这个 Java 的是 String 这个类,而不是 CharSequence 这个接口,在 String 创建完之后将这个字符串传递给了 CharSequence 类。所以是正确的。

    3. StringUtils 工具类常用方法

    3.1 检查字符串是否为空:

    • static boolean isBlank(CharSequence str):判断字符串是否 为空或 null

    • static boolean isNotBlank(CharSequence str):判断字符串是否 为非空或非 null

    使用方式:

    StringUtils.isBlank("Java");  // false
    

    3.2 检查字符串是否为空

    • static boolean isEmpty(CharSequence str) :判断字符串是否 为空或 null

    • static boolean isNotEmpty(CharSequence str) :判断字符串是否 为非空或非 null

    注意:这个方法和 isBlank 极为相似,区别就是:isBlank()会把空格当作空处理,而 isEmpty()会把空格当作非空处理。

    StringUtils.isEmpty("Java");  // false
    StringUtils.isEmpty(" ");  // false,空格会作为非空处理。
    StringUtils.isEmpty(null); // true
    
    String str = "";
    StringUtils.isEmpty(str);  // true,当字符串长度为0就是代表的空字符串。
    

    3.3 去除前后空白

    • static boolean trim(CharSequence str):去除字符串前后空白以及控制符。

    使用方式:

    StringUtils.trim(null) = null  // 输入的null不会报空指针,而是返回null
    StringUtils.trim("") = ""
    StringUtils.trim(" ") = ""
    StringUtils.trim(" \b \t \n \f \r    ") = ""   // 可以去字符串前后的转移字符
    StringUtils.trim("     \n\tss   \b") = "ss"
    StringUtils.trim(" d   d dd     ") = "d   d dd"  // 只能去除前后空白,不可以去除字符串中的空白
    StringUtils.trim("dd     ") = "dd"
    StringUtils.trim("     dd       ") = "dd"
    
    
    • static String trimToEmpty(String str): 如果输入的字符串为 null 或者"",最终以""空字符串输出。
    String str = null;
    StringUtils.trimToEmpty(str);  // ""
    

    3.4 比较两个字符串是否相等

    • static boolean equalsIgnoreCase(String str1, String str2): 当其中一个为 null 的时候也不会报错。
    String str1 = null;
    String str2 = "";
    // System.out.println(str1.equals(str2));  // 报空指针错误
    System.out.println(StringUtils.equals(str1,str2)); // false。不会报错
    
    // 如果两个字符串都是空字符串则认为相等。
    

    3.5 首字母大小写

    • static String capitalize(String str): 首字母大写

    • static String uncapitalize(String str): 首字母小写

    String str = "abc";
    System.out.println(StringUtils.capitalize(str)); // Abc
    
    String str2 = "Abc";
    System.out.println(StringUtils.uncapitalize(str2)); // abc
    

    3.6 重复字符串次数

    • static String repeat(String str, int repeat) :讲 str 字符串重复指定的次数拼接在一起。
    StringUtils.repeat("abc", 5);  返回结果:abcabcabcabcabc
    

    3.7 判断一个字符串中是否全部都是大写,或者全部都是小写。

    • static booleanisAllLowerCase(String str):是否全部小写。

    • static boolean isAllUpperCase(String str):是否全部大写。

    String str = "abC";
    StringUtils.isAllLowerCase(str); // false
    
    String str2 = "ABC";
    StringUtils.isAllUpperCase(str2); // true
    

    3.8 是否都由字母组成

    • static boolean isAlpha(String str): 只由字母组成。

    • static boolean isAlphaSpace(String str): 只有字母和空格组成

    • static boolean isAlphanumeric(String str): 只由字母和数字组成

    • static boolean isAlphanumericSpace(String str): 只由字母数字和空格组成

    • static boolean isNumeric(String str):只由数字组成

    • static boolean isNumericSpace(String str): 只由数字和空格组成

    3.9 字符串倒转

    • static Stringreverse(String str): 字符串倒转。
     StringUtils.reverse("abcdef"); 返回结果:fedcba
    

    3.10 大小写转换

    注意:空格以及特殊符号不会变化

    • static String swapCase(String str): 大小写进行转换。
    StringUtils.swapCase("I am J-A*v a") 返回结果:i AM j-a*V A
    

    相关文章

      网友评论

          本文标题:推荐一个操作字符串超级好用的工具类——StringUtils 类

          本文链接:https://www.haomeiwen.com/subject/qvkkwrtx.html