java中判断两个数组是否相等,可以通过循环遍历两个数组的数据,进行比较,如果有一个不相等则返回false,判断为不相等,如下方法:
public static boolean equals(Object[] a,Object[] b){
for (int i=0i!=(a.length<b.length?a.length:b.length)i++)
if (!a[i].equals(b[i])) return false
return true
}
还是用Arrays.equals吧==是比较地址
equals主要用来单个比较
下面是 Arrays.equals方法的源码
public static boolean equals(long[] a, long[] a2) {
if (a==a2)
return true
if (a==null || a2==null)
return false
int length = a.length
if (a2.length != length)
return false
for (int i=0i<lengthi++)
if (a[i] != a2[i])
return false
return true
}
两个方法,第一个比较常规,第二个特别适合字符数组的判断。
方法一:
char[] a = {'a', 'b'}
char[] b = {'a', 'f'}//对a, b 数组赋值操作
if (a.length != b.length) {
System.out.print("两个数组不相等")
return
} else {
for (int i = 0i <a.lengthi++) {
if (a[i] != b[i]) {
System.out.print("两个数组不相等")
return
}
}
System.out.println("两个数组不相等")
}
方法二:
char[] a = {'a', 'b'}
char[] b = {'a', 'f'}//对a, b 数组赋值操作
String sa = String.valueOf(a)
String sb = String.valueOf(b)
if( sa.equals(sb) )
System.out.println("两个数组相等")
else
System.out.println("两个数组不相等")