public static <T> boolean deepEquals(final T o1, final T o2) { if (o1 == o2) { return true; } if (o1 == null || o2 == null) { return false; } return deepEqualsCore(o1, o2); }
public static <T> boolean deepEquals(final T o1, final T o2) { if (o1 == o2) { return true; } if (o1 == null || o2 == null) { return false; } return deepEqualsCore(o1, o2); }
public static <T> boolean deepEquals(final T o1, final T o2) { if (o1 == o2) { return true; } if (o1 == null || o2 == null) { return false; } return deepEqualsCore(o1, o2); }
public static boolean deepEquals(final Object[] a1, final Object[] a2) { if (a1 == a2) { return true; } if (a1 == null || a2 == null) { return false; } final int length = a1.length; if (a2.length != length) { return false; } for (int i = 0; i < length; i++) { final Object e1 = a1[i]; final Object e2 = a2[i]; if (e1 == e2) { continue; } if (e1 == null) { return false; } if (!deepEqualsCore(e1, e2)) { return false; } } return true; }
public static boolean deepEquals(final Object[] a1, final Object[] a2) { if (a1 == a2) { return true; } if (a1 == null || a2 == null) { return false; } final int length = a1.length; if (a2.length != length) { return false; } for (int i = 0; i < length; i++) { final Object e1 = a1[i]; final Object e2 = a2[i]; if (e1 == e2) { continue; } if (e1 == null) { return false; } if (!deepEqualsCore(e1, e2)) { return false; } } return true; }
public static boolean deepEquals(final Object[] a1, final Object[] a2) { if (a1 == a2) { return true; } if (a1 == null || a2 == null) { return false; } final int length = a1.length; if (a2.length != length) { return false; } for (int i = 0; i < length; i++) { final Object e1 = a1[i]; final Object e2 = a2[i]; if (e1 == e2) { continue; } if (e1 == null) { return false; } if (!deepEqualsCore(e1, e2)) { return false; } } return true; }