java中判断两个数组是否相等

Python048

java中判断两个数组是否相等,第1张

两个方法,第一个比较常规,第二个特别适合字符数组的判断。方法一: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("两个数组不相等")

还是用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

}

import java.util.Arrays

public class Test {

/**

* Java比较两个数组中的元素是否相同

*/

public static void main(String[] args) {

String [] array1 = {"1","2","3"}

String [] array2 = {"3","2","1"}

Arrays.sort(array1)

Arrays.sort(array2)

if (Arrays.equals(array1, array2)) {

System.out.println("两个数组中的元素值相同")

} else {

System.out.println("两个数组中的元素值不相同")

}

}

}