ObjectUtils { public static boolean equal( final Object obj1, final Object obj2) { if (obj1 == obj2) { return true; } if (obj1 == null || obj2 == null) { return false; } return obj1.equals(obj2); }  static String guid(); static String guid(
      final Object obj); static boolean equal(
      final Object obj1,
      final Object obj2); static int compare(
      final Comparable<T> o1,
      final T o2); static K nvl(
      final K... objs);  }
@Test public void testEqual() { final Object[][] testParameters = new Object[][] {{new String("abc"), new String("abc"), true}, {new String("def"), new String("ghi"), false}, {150, 150L, false}}; assertTrue(equal(null, null)); assertFalse(equal(null, randomUUID().toString())); assertFalse(equal(randomUUID().toString(), null)); for (final Object[] testParameter : testParameters) { boolean expected = (Boolean) testParameter[2]; Object obj1 = (Object) testParameter[0]; Object obj2 = (Object) testParameter[1]; assertEquals(expected, ObjectUtils.equal(obj1, obj2)); } }