lang3

前言:
apache提供的众多commons工具包,号称Java第二API,而common里面lang3包更是被我们使用得最多的。因此本文主要详细讲解lang3包里面几乎每个类的使用,希望以后大家使用此工具包,写出优雅的代码

讲解版本为(2018年10月最新版本):

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


在日常工作中,我们经常要使用到一些开源工具包,比如String,Date等等。有时候我们并不清楚有这些工具类的存在,造成在开发过程中重新实现导致时间浪费,且开发的代码质量不佳。而apache其实已经提供了系列的工具包给我们使用,只是大多数人,平时没有注意到。这个系列我将带领大家熟悉这些常用的工具包,让大家熟悉Apache都给我们提供了那些常用的工具类和方法……

commons-lang3和commons-lang的区别
lang3是Apache Commons 团队发布的工具包,要求jdk版本在1.5以上,相对于lang来说完全支持java5的特性,废除了一些旧的API。该版本无法兼容旧有版本,于是为了避免冲突改名为lang3

包结构
org.apache.commons.lang3
org.apache.commons.lang3.builder
org.apache.commons.lang3.concurrent
org.apache.commons.lang3.event
org.apache.commons.lang3.exception
org.apache.commons.lang3.math
org.apache.commons.lang3.mutable
org.apache.commons.lang3.reflect
org.apache.commons.lang3.text
org.apache.commons.lang3.text.translate
org.apache.commons.lang3.time
org.apache.commons.lang3.tuple
脑图如下:

è¿éåå¾çæè¿°

下面进行用得着的情况,从上倒下逐个类讲解。

ArrayUtils:用于对数组的操作,如添加、查找、删除、子数组、倒序、元素类型转换等

它提供了8中基本数据类型以及包装类以及各种类型的长度为0的空数组。所以以后需要长度为0的数组,可以不用new了,直接用这个即

public static final int[] EMPTY_INT_ARRAY = new int[0];
public static final Integer[] EMPTY_INTEGER_OBJECT_ARRAY = new Integer[0];

 

 

  • toString:功能基本同java自己的Arrays.toString方法
  • hashCode:相同个数、相同顺序的数组hashCode会是一样的
      public static void main(String[] args) {
            Integer[] inArr = new Integer[]{1, 2, 3};
            Integer[] inArr2 = new Integer[]{1, 2, 3};
            System.out.println(ArrayUtils.hashCode(inArr)); //862547
            System.out.println(ArrayUtils.hashCode(inArr2)); //862547
    
            inArr = new Integer[]{1, 2, 3};
            inArr2 = new Integer[]{1, 3, 3};
            System.out.println(ArrayUtils.hashCode(inArr)); //862547
            System.out.println(ArrayUtils.hashCode(inArr2)); //862584
        }
    

     

  • isEquals:该方法已经被废弃。取代的为java自己的java.util.Objects.deepEquals(Object, Object)
    public static void main(String[] args) {
            Integer[] inArr = new Integer[]{1, 2, 3};
            Integer[] inArr2 = new Integer[]{1, 2, 3};
            System.out.println(Objects.deepEquals(inArr, inArr2)); //true
    
            inArr = new Integer[]{1, 2, 3};
            inArr2 = new Integer[]{1, 3, 3};
            System.out.println(Objects.deepEquals(inArr, inArr2)); //false
        }
    

    https://blog.csdn.net/f641385712/article/details/82468927

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值