Close

Java Collections - Arrays.equals() Examples

Java Collections Java Java API 


Class:

java.util.Arrays

java.lang.Objectjava.lang.Objectjava.util.Arraysjava.util.ArraysLogicBig

Methods:

These methods return true if the two specified arrays are equal to one another. Two arrays are considered equal if both arrays contain the same number of elements, and all corresponding pairs of elements in the two arrays are equal. These methods do not recursively match the nested elements.

public static boolean equals(long[] a,
                             long[] a2)
public static boolean equals(int[] a,
                             int[] a2)
public static boolean equals(short[] a,
                             short[] a2)
public static boolean equals(char[] a,
                             char[] a2)
public static boolean equals(byte[] a,
                             byte[] a2)
public static boolean equals(boolean[] a,
                             boolean[] a2)
public static boolean equals(double[] a,
                             double[] a2)
public static boolean equals(float[] a,
                             float[] a2)
public static boolean equals(Object[] a,
                             Object[] a2)

Examples


package com.logicbig.example.arrays;

import java.util.Arrays;

public class EqualsExample {

public static void main(String... args) {
Object[] arr1 = {3, 5, 6};
Object[] arr2 = {3, 5, 6};

System.out.println(arr1.equals(arr2));
System.out.println(Arrays.equals(arr1, arr2));
}
}

Output

false
true




This method does not work for nested array. We should use Arrays#deepEquals() in this case.

package com.logicbig.example.arrays;

import java.util.Arrays;

public class EqualsExample2 {

public static void main(String... args) {
Object[] arr1 = {3, 5, new int[]{6, 7, 9}};
Object[] arr2 = {3, 5, new int[]{6, 7, 9}};

System.out.println(arr1.equals(arr2));
System.out.println(Arrays.equals(arr1, arr2));
}
}

Output

false
false




See Also