介绍


commons-lang3 为我们提供了一个 StringUtlis 工具类,方便我们对字符串进行操作,比如:判断字符串是否为空、转换大小写、分隔字符串、比较字符串等等。

入门示例


想要使用 StringUtils 你需要引入maven地址:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

StringUtils 有非常多使用的方法:

字符串判空

这里的字符串判空可不只是对 null 的判断,还有如:""" ""null"等,多种情况。

@Test
public void isEmptyTest() {  
    String str1 = null;  
    String str2 = "";  
    String str3 = " ";  
    String str4 = "test";  
    System.out.println("isEmpty判断,为空为true");  
    System.out.println(StringUtils.isEmpty(str1)); // true  
    System.out.println(StringUtils.isEmpty(str2)); // true  
    System.out.println(StringUtils.isEmpty(str3)); // false  
    System.out.println(StringUtils.isEmpty(str4)); // false  
}

@Test
public void isNotEmptyTest() {  
    String str1 = null;  
    String str2 = "";  
    String str3 = " ";  
    String str4 = "test";  
    System.out.println("isNotEmpty判断,为空为false");  
    System.out.println(StringUtils.isNotEmpty(str1)); // false  
    System.out.println(StringUtils.isNotEmpty(str2)); // false  
    System.out.println(StringUtils.isNotEmpty(str3)); // true  
    System.out.println(StringUtils.isNotEmpty(str4)); // true  
}

@Test
public void isBlankTest() {  
    String str1 = null;  
    String str2 = "";  
    String str3 = " ";  
    String str4 = "test";  
    System.out.println("isBlank判断,为空或空格为true");  
    System.out.println(StringUtils.isBlank(str1)); // true  
    System.out.println(StringUtils.isBlank(str2)); // true  
    System.out.println(StringUtils.isBlank(str3)); // true  
    System.out.println(StringUtils.isBlank(str4)); // false  
}

@Test
public void isNotBlankTest() {  
    String str1 = null;  
    String str2 = "";  
    String str3 = " ";  
    String str4 = "test";  
    System.out.println("isNotBlank判断,为空或空格为false");  
    System.out.println(StringUtils.isNotBlank(str1)); // false  
    System.out.println(StringUtils.isNotBlank(str2)); // false  
    System.out.println(StringUtils.isNotBlank(str3)); // false  
    System.out.println(StringUtils.isNotBlank(str4)); // true  
}

分隔字符串

String str = null;  
System.out.println(Arrays.toString(StringUtils.split(str, ","))); // null  
System.out.println(Arrays.toString(str.split(","))); // NullPointerException 空指针异常

判断是否为纯数字

String str1 = "123";  
String str2 = "123q";  
String str3 = "0.33";  
System.out.println(StringUtils.isNumeric(str1)); // true  
System.out.println(StringUtils.isNumeric(str2)); // false  
System.out.println(StringUtils.isNumeric(str3)); // false

将集合拼接成字符串

List<String> list = Arrays.asList("a", "b", "c");  
List<Integer> list2 = Arrays.asList(1, 2, 3);  
System.out.println(StringUtils.join(list, " "));  
System.out.println(StringUtils.join(list2, " "));