展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

commons-lang3使用

  • 引入依赖
<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.9</version>
</dependency>
  • 案例1
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));
    }
    
}
  • 案例2
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
    }
}
  • 案例3
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));
    }
}
  • 案例4
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));
    }
}
posted @ 2022-10-03 16:10  DogLeftover  阅读(179)  评论(0编辑  收藏  举报