Arrays.equals()
Сравнивает содержимое двух массивов поэлементно.
Доступно с: Java 1.2
Синтаксис
static boolean equals(int[] a, int[] a2)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| a | int[], Object[], … | Первый массив. |
| a2 | same array type | Второй массив. |
Возвращаемое значение
booleantrue, если длины равны и все элементы попарно равны.
Примеры
== и equals() у массивов сравнивают ссылки, Arrays.equals() — содержимое:
void main() {
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
IO.println(a == b);
IO.println(a.equals(b));
IO.println(Arrays.equals(a, b));
int[][] x = {{1}, {2}};
int[][] y = {{1}, {2}};
IO.println(Arrays.equals(x, y));
IO.println(Arrays.deepEquals(x, y));
}Результат:
false
false
true
false
trueПримечания
Для вложенных массивов Arrays.equals() сравнивает внутренние массивы как ссылки — нужен deepEquals(). Порядок важен: {1, 2} и {2, 1} не равны; чтобы сравнить без учёта порядка, отсортируйте копии.
См. также
- Arrays.toString() — Возвращает содержимое массива в виде строки [1, 2, 3].
- Arrays.copyOf() — Копирует массив в новый — той же или другой длины. Часть массива копирует copyOfRange().
- Object.equals() — Сравнивает объекты по смыслу. По умолчанию работает как ==, поэтому в своих классах его переопределяют.
Вопросы и ответы по теме
В учебнике
- Класс Arrays — Утилиты класса java.util.Arrays: toString, sort, fill, copyOf, copyOfRange, equals и binarySearch.