Interview Questions

Java - Compare Arrays

Use the following code to compare arrays in java using deepEquals method.

public class Person {

        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));
        }

}

0
No votes yet
Your rating: None