如何在 Java 中比较两个数组?
java programming java 8object oriented programming更新于 2025/5/25 21:07:17
在 Java 中可以使用以下方式比较数组
使用 Arrays.equals(array1, array2) 方法 − 此方法迭代数组的每个值并使用 equals 方法进行比较。
使用 Arrays.deepEquals(array1, array2) 方法 − 此方法迭代数组的每个值并使用任何重写的 equals 方法进行深度比较。
在数组上使用 == 不会给出所需的结果,它会将它们作为对象进行比较。请参阅下面的示例,了解每种比较方式。
示例
import java.util.Arrays;
public class Tester{
public static void main(String[] args) {
int[] array1 = {1, 2, 3};
int[] array2 = {1, 2, 3};
System.out.println("Arrays: array1 = [1, 2, 3], array 2 = [1, 2, 3]");
//Scenario 1 : Comparing using ==
System.out.println("== results: " + (array1 == array2));
//Scenario 2 : Comparing using Arrays.equals()
System.out.println("Arrays.equals() results: " + Arrays.equals(array1,array2));
Object[] objArray1 = {array1};
Object[] objArray2 = {array2};
System.out.println("Arrays: objArray1 = {array1}, objArray1 = {array2}");
//Scenario 3 : Comparing using Arrays.equals()
System.out.println("Arrays.equals() results: " + Arrays.equals(objArray1,objArray2));
//Scenario 4 : Comparing using Arrays.deepEquals()
System.out.println("Arrays.deepEquals() results: " + Arrays.deepEquals(objArray1,objArray2));
}
}
输出
Arrays: array1 = [1, 2, 3], array 2 = [1, 2, 3]
== results: false
Arrays.equals() results: true
Arrays: objArray1 = {array1}, objArray1 = {array2}
Arrays.equals() results: false
Arrays.deepEquals() results: true
相关文章
Java 中的 static 关键字
Java 中的 synchronized 关键字
Java 中的交错数组
Java 的 instanceof 及其应用
Java 8 Optional 类
Java 中的 ListIterator
Java 中的 private 关键字
Java 中 final 类型的实例变量
Java 中的实例变量隐藏
Java 中的 instanceof 关键字
打印
下一节 ❯❮ 上一节