前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐一个操作字符串超级好用的工具类——StringUtils类

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

原创
作者头像
Java学术趴
发布2022-06-21 22:48:15
1.1K0
发布2022-06-21 22:48:15
举报
文章被收录于专栏:Java全栈·Java全栈·

👨‍🎓作者:Java学术趴 🏦仓库:GithubGitee ✏️博客:CSDN掘金InfoQ云+社区 🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。 🙏版权声明:文章里的部分文字或者图片来自于互联网以及百度百科,如有侵权请尽快联系小编。

☠️每日毒鸡汤:这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!

👋大家好!我是你们的老朋友Java学术趴

StringUtils工具类

1. StringUtils工具类介绍

  • StringUtils是JDK提供的一个操作String字符串的工具类。他最大的特点就是对 null是安全的。及如果输入的字符串是null,不会抛出NullPointerException错误。StringUtils对null做了相应的处理,当传递是mull的时候返回的也是null。
  • StringUtils中提供了超级多的方法,并且都是被 static关键字 修饰的。这就意味着我们直接使用类名调用即可

2. CharSequence和String的区别

  • CharSequence是一个接口,用于表示有序的字符集合,并提供了一些基本的操作方法。
代码语言:javascript
复制
CharSequence是一个接口,用于表示有序的字符集合,并提供了一些基本的操作方法。
  • CharSequence与String都能用于定义字符串,但CharSequence的值是 可读可写序列 ,而String的值是只读序列
  • String、StringBuffer、StringBuilder都实现了CharSequence这个接口。

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

代码语言:javascript
复制
 CharSequence cs=new CharSequence(“Java”)  // 报错

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

代码语言:javascript
复制
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

使用方式:

代码语言:javascript
复制
StringUtils.isBlank("Java");  // false
StringUtils.isBlank(" ");  // true,空格会作为空处理。
StringUtils.isBlank(null); // true
​
String str = "";
StringUtils.isBlank(str);  // true,当字符串长度为0就是代表的空字符串。
3.2 检查字符串是否为空
  • static boolean isEmpty(CharSequence str) :判断字符串是否为空或null
  • static boolean isNotEmpty(CharSequence str) :判断字符串是否为非空或非null

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

代码语言:javascript
复制
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) :去除字符串前后空白以及控制符。

使用方式:

代码语言:javascript
复制
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或者"",最终以""空字符串输出。
代码语言:javascript
复制
String str = null;
StringUtils.trimToEmpty(str);  // ""
3.4 比较两个字符串是否相等
  • static boolean equalsIgnoreCase(String str1, String str2) : 当其中一个为null的时候也不会报错。
代码语言:javascript
复制
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) : 首字母小写
代码语言:javascript
复制
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字符串重复指定的次数拼接在一起。
代码语言:javascript
复制
StringUtils.repeat("abc", 5);  返回结果:abcabcabcabcabc
3.7 判断一个字符串中是否全部都是大写,或者全部都是小写。
  • static booleanisAllLowerCase(String str) :是否全部小写。
  • static boolean isAllUpperCase(String str) :是否全部大写。
代码语言:javascript
复制
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) : 字符串倒转。
代码语言:javascript
复制
 StringUtils.reverse("abcdef"); 返回结果:fedcba
3.10 大小写转换

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • StringUtils工具类
    • 1. StringUtils工具类介绍
      • 2. CharSequence和String的区别
        • 3. StringUtils工具类常用方法
          • 3.1 检查字符串是否为空:
          • 3.2 检查字符串是否为空
          • 3.3 去除前后空白
          • 3.4 比较两个字符串是否相等
          • 3.5 首字母大小写
          • 3.6 重复字符串次数
          • 3.7 判断一个字符串中是否全部都是大写,或者全部都是小写。
          • 3.8 是否都由字母组成
          • 3.9 字符串倒转
          • 3.10 大小写转换
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档