Java 数组常用方法

Java  ArrayUtils.isEquals()方法是java中的数组方法,用于判断两个数组是否相等,内部实现使用EqualsBuilder进行判断。

ArrayUtils工具类在包 org.apache.commons.lang中。

语法

其语法如下:
public static boolean isEquals(Object array1, Object array2) 

参数

  • array1:指定要判断的第一个数组
  • array2:指定要判断的第二个数组

返回值

布尔值,相等返回true,不等返回false

内部实现

使用EqualsBuilder进行判断

public static boolean isEquals(Object array1, Object array2) {
    return (new EqualsBuilder()).append(array1, array2).isEquals();
}

例子

import org.apache.commons.lang.ArrayUtils;
public class ArrayUtilsisEqualsArrayExample{
    public static void main(String[] args) {
        //1 完全相同
        boolean r1 = ArrayUtils.isEquals(new int[] { 1, 2, 3 }, new int[] { 1, 2, 3 });//true
        //2 类型相同,数据相同,位置不同
        boolean r2 = ArrayUtils.isEquals(new int[] { 1, 3, 2 }, new int[] { 1, 2, 3 });// false
        //3 类型相同,数组长度不同
        boolean r3 = ArrayUtils.isEquals(new int[] { 1, 2, 3, 4 }, new int[] { 1, 2, 3 });// false
        //4 类型不同,元素相同
        boolean r4_1 = ArrayUtils.isEquals(new int[] { 1, 2, 3 }, new long[] { 1, 2, 3 });// false
        boolean r4_2 = ArrayUtils.isEquals(new Object[] { 1, 2, 3 }, new Object[] { 1, (long) 2, 3 });// false
        //5 null的处理
        boolean r5_1 = ArrayUtils.isEquals(new int[] { 1, 2, 3 }, null);// false
        boolean r5_2 = ArrayUtils.isEquals(null, null);// true


        System.out.println(r1);
        System.out.println(r2);
        System.out.println(r3);
        System.out.println(r4_1);
        System.out.println(r4_2);
        System.out.println(r5_1);
        System.out.println(r5_2);

    }
}

输出:

true
false
false
false
false
false
true

 由以上可知,相等的条件是数组元素大小类型要完全相同。