<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
public class StringUtilsTest {
/**
* 12345678911
* 脱敏
* 123****8911
*/
@Test
public void test3() {
String str = "12345678911";
// 返回某个字符串左边的几个字符
String left = StringUtils.left(str, 3);// 123
String right = StringUtils.right(str, 4);// 8911
System.out.println(left+"****" + right);
// rightPad:如果left长度<7,那么就在右边用*填充到7个长度
String padResult = StringUtils.rightPad(left, 7, '*');
System.out.println(padResult + right);
}
/**
* 判断null/""
*/
@Test
public void test2() {
String str = " ";
System.out.println(StringUtils.isEmpty(str));// false
// 反过来
System.out.println(StringUtils.isNotEmpty(str));
}
/**
* 判断null/""/" "
*/
@Test
public void test1() {
String str = " ";
System.out.println(StringUtils.isBlank(str));
// 反过来
System.out.println(StringUtils.isNotBlank(str));
}
}
import org.apache.commons.lang3.math.NumberUtils;
import org.junit.Test;
public class NumberUtilsTest {
/**
* 给我判断一个参数是不是数字(整数、浮点数)
*/
@Test
public void test1() {
String str ="12.3aaa";
// isDigits只能判断整数,也就是参数只能包含数字的时候才返回true,都是当做10进制来处理的
System.out.println(str+"isDigits结果:"+NumberUtils.isDigits(str)); // false
// isParsable可以判断是不是整数、浮点数,不能识别正负,都是当做10进制来处理的
System.out.println(str+"isParsable结果:"+NumberUtils.isParsable(str)); // false
// isCreatable可以判断是不是整数、浮点数,识别正负号,以及进制
System.out.println(str+"isCreatable结果:"+NumberUtils.isCreatable(str));// false
str = "12.3";
System.out.println(str+"isDigits结果:"+NumberUtils.isDigits(str)); // false
System.out.println(str+"isParsable结果:"+NumberUtils.isParsable(str)); // true
System.out.println(str+"isCreatable结果:"+NumberUtils.isCreatable(str));// true
str ="+12.3";
System.out.println(str+"isDigits结果:"+NumberUtils.isDigits(str)); // false
System.out.println(str+"isParsable结果:"+NumberUtils.isParsable(str)); // false
System.out.println(str+"isCreatable结果:"+NumberUtils.isCreatable(str));// true
str ="12";
System.out.println(str+"isDigits结果:"+NumberUtils.isDigits(str)); // true
System.out.println(str+"isParsable结果:"+NumberUtils.isParsable(str));// true
System.out.println(str+"isCreatable结果:"+NumberUtils.isCreatable(str));// true
str ="09";
System.out.println(str+"isDigits结果:"+NumberUtils.isDigits(str)); // true
System.out.println(str+"isParsable结果:"+NumberUtils.isParsable(str));// true
// 以0开头认为是8进制
System.out.println(str+"isCreatable结果:"+NumberUtils.isCreatable(str));// false
}
}
import org.apache.commons.lang3.ObjectUtils;
import org.junit.Test;
public class ObjectUtilsTest {
/**
* System.identityHashCode(obj):不管obj所在的类有没有重写hashcode方法,identityHashCode
* 始终调用的都是Object.hashCode()
*/
@Test
public void test2() {
// java.lang.String@7d6f77cc
System.out.println(ObjectUtils.identityToString("abc"));
}
/**
* str1,str2,str3....取第一个不为空的作为结果使用
*/
@Test
public void test1() {
String str1=null;
String str2=null;
String str3="str233";
System.out.println(ObjectUtils.firstNonNull(str1, str2, str3));
}
}
import org.apache.commons.lang3.ArrayUtils;
import org.junit.Test;
public class ArrayUtilsTest {
/**
* 给已有数组添加元素
*/
@Test
public void test2(){
int[] ints = new int[1];
ints[0] = 3;
// toString打印数组内容
System.out.println(ArrayUtils.toString(ints));
// add会自动帮你创建新的数组
int[] newArr = ArrayUtils.add(ints, 7);
System.out.println(ArrayUtils.toString(ints));
System.out.println(ArrayUtils.toString(newArr));//
}
/**
* 判断一个数组是不是空的(null/长度为0)
*/
@Test
public void test1(){
Integer[] ints = new Integer[0];
ints = null;
System.out.println(ArrayUtils.isEmpty(ints));
}
}