Use the following code to compare arrays in java using deepEquals method.
private int age = 0;
public Person(int age) {
this.age = age;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (age != other.age)
return false;
return true;
}
public void getImp(String s1, String s2) {
System.out.println("SubClass");
}
public static void main(String[] args) {
Person x[] = { new Person(1), new Person(2), new Person(3) };
Person y[] = { new Person(1), new Person(2), new Person(3) };
Person z[] = { new Person(3), new Person(2), new Person(1) };
System.out.printf("x.equals(x): %b%n", Arrays.deepEquals(x, x));
System.out.printf("x.equals(y): %b%n", Arrays.deepEquals(x, y));
System.out.printf("x.equals(z): %b%n", Arrays.deepEquals(x, z));
}
}