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
false
false
false
false
false
true
由以上可知,相等的条件是数组元素大小类型要完全相同。