StringUtils

一、示例

org.apache.commons.lang.StringUtils

commons-lang-2.5.jar

示例代码:

package com.wbf.stringutils;

import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;

public class StringUtilsDemo {

	public static void testStr(){
		
		String str1 = "";    
		String str2 = " ";    
		String str3 = "\t";    
		String str4 = null;    
		String str5 = "123";    
		String str6 = "ABCDEFG";    
		String str7 = "It feels good to use Jakarta Commons.\r\n";
		String str8 = " sss ";
		String str9 = " ff      ee ";
		
		/**1.
		 * StringUtils.isBlank(String str)
		 * Checks if a String is whitespace, empty ("") or null.
		 */
		System.out.println(StringUtils.isBlank(str1));
		System.out.println(StringUtils.isBlank(str2));
		System.out.println(StringUtils.isBlank(str3));
		System.out.println(StringUtils.isBlank(str4));
		
		/**2.
		 * StringUtils.isNumeric(String str)
		 * if only contains digits, and is non-null.
		 * Is not null, Character.isDigit(char c)
		 */
		System.out.println(StringUtils.isNumeric(str5));
		System.out.println(StringUtils.isNumeric(str6));
		
		/**3.
		 * StringUtils.reverse(String str)
		 * Checks if a String is not null, reverse.
		 * if not null, new StringBuffer(str).reverse().toString()
		 */
		System.out.println(StringUtils.reverse(str6));

		/**4.
		 * StringUtils.trimToNull(String str)
		 * StringUtils.trimToNull(null)          = null
		 * StringUtils.trimToNull("")            = null
		 * StringUtils.trimToNull("     ")       = null
		 * StringUtils.trimToNull("abc")         = "abc"
		 * StringUtils.trimToNull("    abc    ") = "abc"
		 */
		System.out.println(StringUtils.trimToNull(str1));
		System.out.println(StringUtils.trimToNull(str2));
		System.out.println(StringUtils.trimToNull(str3));
		System.out.println(StringUtils.trimToNull(str4));
		System.out.println(StringUtils.trimToNull(str8));
		System.out.println(StringUtils.trimToNull(str9));
		
		/**5.
		 * StringUtils.trimToEmpty(String str)
		 * StringUtils.trimToEmpty(null)          = ""
		 * SringUtils.trimToEmpty("     ")       = ""
		 * StringUtils.trimToEmpty("abc")         = "abc"
		 * StrtringUtils.trimToEmpty("")            = ""
		 * StingUtils.trimToEmpty("    abc    ") = "abc"
		 */
		System.out.println(StringUtils.trimToEmpty(str1));
		System.out.println(StringUtils.trimToEmpty(str2));
		System.out.println(StringUtils.trimToEmpty(str3));
		System.out.println(StringUtils.trimToEmpty(str4));
		System.out.println(StringUtils.trimToEmpty(str8));
		System.out.println(StringUtils.trimToEmpty(str9));
		
		/**6.
		 * StringUtils.trim(String str)
		 * StringUtils.trim(null)          = null
		 * StringUtils.trim("")            = ""
		 * StringUtils.trim("     ")       = ""
		 * StringUtils.trim("abc")         = "abc"
		 * StringUtils.trim("    abc    ") = "abc"
		 * return str == null ? null : str.trim();
		 */
		System.out.println(StringUtils.trim(str1));
		System.out.println(StringUtils.trim(str2));
		System.out.println(StringUtils.trim(str3));
		System.out.println(StringUtils.trim(str4));
		System.out.println(StringUtils.trim(str8));
		System.out.println(StringUtils.trim(str9));
		
		/**7.
		 * StringUtils.split(String str)
		 * StringUtils.split(String str, char separatorChar)
		 * StringUtils.split(String str, String separatorChars)
		 * return String[]
		 */
		String[] array1 = StringUtils.split(str6);//默认按空白字符拆分-->"ABCDEFG"
		String[] array2 = StringUtils.split(str8);//默认按空白字符拆分-->"sss"
		String[] array3 = StringUtils.split(str9);//默认按空白字符拆分-->"ff" "ee"
		String[] array4 = StringUtils.split(str9, " ");//默认按空白字符拆分-->"ff" "ee"
		System.out.println(ArrayUtils.toString(array1));
		System.out.println(ArrayUtils.toString(array2));
		System.out.println(ArrayUtils.toString(array3));
		System.out.println(ArrayUtils.toString(array4));
		
		/**8.
		 * StringUtils.repeat("a", 3)  = "aaa"
		 * return String
		 */
		System.out.println(StringUtils.repeat("a", 3));
		
		/**9.全部小写
		 * StringUtils.isAllLowerCase(null)   = false
		 * StringUtils.isAllLowerCase("")     = false
		 * StringUtils.isAllLowerCase("  ")   = false
		 * StringUtils.isAllLowerCase("abc")  = true
		 * StringUtils.isAllLowerCase("abC") = false
		 */
		
		/**10.全部大写
		 * StringUtils.isAllUpperCase(null)   = false
		 * StringUtils.isAllUpperCase("")     = false
		 * StringUtils.isAllUpperCase("  ")   = false
		 * StringUtils.isAllUpperCase("ABC")  = true
		 * StringUtils.isAllUpperCase("aBC") = false
		 */
		
		/**11
		 * public static boolean isAlpha(String str);  只由字母组成
		 * public static boolean isAlphaSpace(String str); 只有字母和空格组成
		 * public static boolean isAlphanumeric(String str);只由字母和数字组成
		 * public static boolean isAlphanumericSpace(String str);只由字母数字和空格组成
		 * public static boolean isNumeric(String str);只由数字组成
		 * public static boolean isNumericSpace(String str);只由数字和空格组成
		 * StringUtils.isAlpha("a2bdefg");
		 * 返回结果:false
		 */
		
		/**
	         * StringUtils.join(null, *) = null
 		 * StringUtils.join([], *) = ""
 		 * StringUtils.join([null], *) = ""
 		 * StringUtils.join(["a", "b", "c"], "--")  = "a--b--c"
 		 * StringUtils.join(["a", "b", "c"], null)  = "abc"
 		 * StringUtils.join(["a", "b", "c"], "")    = "abc"
 		 * StringUtils.join([null, "", "a"], ',')   = ",,a"
	         */
	}
	
	public static void main(String[] args) {
		testStr();
	}
}

 二、解释说明
StringUtils类的作用很强大,针对于字符串的各种操作方法。它有许多java.lang.String类没有的方法,同时它很重要的一点就是不会有NullPointerException

 

### StringUtils 类的功能概述 `StringUtils` 是 Apache Commons Library 中的一部分,属于 `org.apache.commons.lang3` 包下的工具类[^2]。该类主要用于简化字符串操作,提供了许多静态方法来处理常见的字符串问题。这些方法能够帮助开发者更高效地完成字符串的判断、转换和格式化等工作。 以下是 `StringUtils` 的主要功能分类及其描述: #### 1. 字符串判空 `StringUtils` 提供了一系列用于检测字符串是否为空或者仅包含空白字符的方法。例如: - `isEmpty(String str)`:如果字符串为 null 或长度为零,则返回 true。 - `isNotEmpty(String str)`:与 isEmpty 方法相反,当字符串不为空时返回 true。 - `isBlank(String str)`:如果字符串为 null 或者只包含空白字符(如空格),则返回 true。 - `isNotBlank(String str)`:与 isBlank 方法相反,当字符串既不是 null 又含有非空白字符时返回 true。 ```java System.out.println(StringUtils.isEmpty(null)); // 输出: true System.out.println(StringUtils.isBlank("")); // 输出: true System.out.println(StringUtils.isNotBlank("abc")); // 输出: true ``` #### 2. 去除多余字符 此类方法可以帮助去除字符串两端或内部多余的空白字符及其他指定字符。 - `trim(String str)`:移除字符串首尾的空白字符。 - `strip(String str, String stripChars)`:删除字符串开头和结尾处由参数定义的一组字符。 - `removeStart(String str, String remove)` 和 `removeEnd(String str, String remove)`:分别去掉字符串前缀或后缀部分匹配的内容。 ```java String result = StringUtils.strip(" Hello World! ", " H!"); // 结果:"ello World" ``` #### 3. 大小写转换 通过调用以下函数实现大小写的统一管理。 - `upperCase(String str)` - `lowerCase(String str)` ```java System.out.println(StringUtils.upperCase("hello")); // HELLO System.out.println(StringUtils.lowerCase("WORLD")); // world ``` #### 4. 子串查找与替换 支持灵活定位子序列位置以及批量替换单词等功能。 - `contains(CharSequence seq, CharSequence searchSeq)` - `replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)` ```java boolean foundA = StringUtils.contains("ABCDEF", 'A'); // true String replacedText = StringUtils.replaceEachRepeatedly( "a_b_c_", new String[]{"_"}, new String[]{"/"}); // a/b/c/ ``` #### 5. 随机生成器 利用随机数种子创建固定长度的新密码或者其他形式的数据片段。 - `RandomStringUtils.random(int count)` - `RandomStringUtils.randomAlphabetic(int count)` ```java String randomStr = RandomStringUtils.random(8); System.out.println(randomStr.length()); // 8 ``` --- ### 使用场景举例 假设我们需要开发一款应用程序,在其中验证用户输入邮箱地址的有效性并清理数据。我们可以借助于 `StringUtils` 来快速构建逻辑框架如下所示: ```java public boolean isValidEmail(String email){ if (StringUtils.isBlank(email)) { return false; } String trimmedEmail = StringUtils.trim(email); int atIndex = trimmedEmail.indexOf("@"); ... } ``` 上述代码展示了如何运用 `StringUtils.isBlank()` 判断字段是否存在有效值;再经过去掉冗余空间之后进一步分析结构特性等等。 --- ### 总结 综上所述,Apache Commons Lang 库内的 `StringUtils` 已成为众多 Java 开发人员日常工作中不可或缺的好帮手之一。凭借其丰富的预设算法集合,极大地减少了重复编码量的同时提高了程序可读性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值