如何在 Java 中比較兩個陣列?
使用以下方法可以在 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
廣告