首頁 >Java >java教程 >Java 陣列比較:`equals()` 與 `Arrays.equals()` - 有什麼不同?

Java 陣列比較:`equals()` 與 `Arrays.equals()` - 有什麼不同?

Patricia Arquette
Patricia Arquette原創
2024-12-28 16:51:12264瀏覽

Java Array Comparison:  `equals()` vs. `Arrays.equals()` - What's the Difference?

比較Java 中的陣列:equals 與Arrays.equals

比較Java 中的陣列物件時,了解equals 之間的細微差別非常重要和Arrays.equals.

等於運算子

Java中的等於運算子比較兩個引用是否引用記憶體中的同一個物件。當應用於數組時,這意味著它會檢查兩個數組引用是否指向同一個數組實例。

Object[] array1, array2;
array1.equals(array2);

在這種情況下,如果 array1 和 array2 引用同一個數組對象,則結果將是真的。否則,將為 false。

Arrays.equals 方法

相反,Arrays.equals 方法比較兩個陣列的內容。它檢查數組是否具有相同數量的元素以及相應的元素是否相等。

Arrays.equals(array1, array2);

如果 array1 和 array2 具有相同的內容,則結果將為 true。否則將為 false。

主要區別

equals 和 Arrays.equals 之間的主要區別在於 equals 比較引用,而 Arrays.equals比較

範例

考慮以下範例:

Object[] array1 = new int[] { 1, 2, 3 };
Object[] array2 = new int[] { 1, 2, 3 };

在這種情況下, array1.equals(array2) 將為false,因為array1和array2 是兩個不同的陣列物件。然而,Arrays.equals(array1, array2) 將為 true,因為陣列的內容是相同的。

Object[] array1 = new int[] { 1, 2, 3 };
Object[] array2 = array1;

在這種情況下,array1.equals(array2) 和 Arrays.equals(array1, array2) ) 都為 true,因為 array1 和 array2 引用同一個陣列物件。

以上是Java 陣列比較:`equals()` 與 `Arrays.equals()` - 有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn