Class EqualityUtils


  • public class EqualityUtils
    extends Object
    Various utilities in implementing Object.equals(Object) and Object.hashCode(). For primitive float and double, isEqual() is not the same as Java == operator, isEqual(NaN, NaN) returns true instead of false.
    • Method Detail

      • isEqual

        public static boolean isEqual​(int left,
                                      int right)
      • isEqual

        public static boolean isEqual​(long left,
                                      long right)
      • isEqual

        public static boolean isEqual​(float left,
                                      float right)
        Compare both arguments for equality, and consider Float.NaN to be equal to Float.NaN (unlike the Java == operator).
      • isEqual

        public static boolean isEqual​(double left,
                                      double right)
        Compare both arguments for equality, and consider Double.NaN to be equal to Double.NaN (unlike the Java == operator).
      • isEqual

        public static boolean isEqual​(short left,
                                      short right)
      • isEqual

        public static boolean isEqual​(char left,
                                      char right)
      • isEqual

        public static boolean isEqual​(byte left,
                                      byte right)
      • isEqual

        public static boolean isEqual​(@Nullable
                                      Object left,
                                      @Nullable
                                      Object right)
      • isEqual

        public static boolean isEqual​(@Nullable
                                      Object[] left,
                                      @Nullable
                                      Object[] right)
      • isEqualMap

        public static boolean isEqualMap​(@Nullable
                                         Map left,
                                         @Nullable
                                         Map right)
      • isEqualIgnoreOrder

        public static boolean isEqualIgnoreOrder​(@Nullable
                                                 List left,
                                                 @Nullable
                                                 List right)
      • isEqualSet

        public static boolean isEqualSet​(@Nullable
                                         Set left,
                                         @Nullable
                                         Set right)
      • isNullOrNotSameClass

        public static boolean isNullOrNotSameClass​(@Nonnull
                                                   Object left,
                                                   @Nullable
                                                   Object right)
      • isSameReference

        public static boolean isSameReference​(@Nullable
                                              Object left,
                                              @Nullable
                                              Object right)
      • hashCodeOf

        public static int hashCodeOf​(@Nullable
                                     Object o)
        Given an object, return the hashcode of it. For null, return 0 instead.
      • hashCodeOf

        public static int hashCodeOf​(int previousHashCode,
                                     @Nullable
                                     Object o)
      • hashCodeOf

        public static int hashCodeOf​(int previousHashCode,
                                     int value)
      • hashCodeOf

        public static int hashCodeOf​(int previousHashCode,
                                     long value)
      • hashCodeOf

        public static int hashCodeOf​(int previousHashCode,
                                     boolean value)