public static boolean deepEquals (Object a, Object b)

Returns true if the arguments are deeply equal to each other and false otherwise. Two null values are deeply equal. If both arguments are arrays, the algorithm in Arrays.deepEquals is used to determine equality. Otherwise, equality is determined by using the equals method of the first argument.

Parameters:
a    an object
b    an object to be compared with a for deep equality

Returns:  true if the arguments are deeply equal to each other and false otherwise

See also:
Arrays.deepEquals(Object[], Object[]), Objects.equals(Object, Object)