Class HashUtil


  • public abstract class HashUtil
    extends Object
    Provides helper methods for hash-code generation.
    Hash methods for handling all primitive types as well as Objects are provided.
    Usage:
     @Override
     public int hashCode() {
         int hash = HashUtil.startHash(field1);
         hash = HashUtil.nextHash(hash, field2);
         ...
         hash = HashUtil.nextHash(hash, fieldN);
         return hash;
     }
     
    Note: fields may be null.
    Author:
    Philipp Meinen
    • Constructor Detail

      • HashUtil

        protected HashUtil()
    • Method Detail

      • startHash

        public static int startHash​(boolean value)
      • startHash

        public static int startHash​(byte value)
      • startHash

        public static int startHash​(char value)
      • startHash

        public static int startHash​(short value)
      • startHash

        public static int startHash​(int value)
      • startHash

        public static int startHash​(long value)
      • startHash

        public static int startHash​(float value)
      • startHash

        public static int startHash​(double value)
      • startHash

        public static int startHash​(Object obj)
      • startHash

        public static int startHash​(boolean[] values)
      • startHash

        public static int startHash​(byte[] values)
      • startHash

        public static int startHash​(char[] values)
      • startHash

        public static int startHash​(short[] values)
      • startHash

        public static int startHash​(int[] values)
      • startHash

        public static int startHash​(long[] values)
      • startHash

        public static int startHash​(float[] values)
      • startHash

        public static int startHash​(double[] values)
      • startHash

        public static int startHash​(Object[] objs)
      • nextHash

        public static int nextHash​(int hash,
                                   boolean value)
      • nextHash

        public static int nextHash​(int hash,
                                   byte value)
      • nextHash

        public static int nextHash​(int hash,
                                   char value)
      • nextHash

        public static int nextHash​(int hash,
                                   short value)
      • nextHash

        public static int nextHash​(int hash,
                                   int value)
      • nextHash

        public static int nextHash​(int hash,
                                   long value)
      • nextHash

        public static int nextHash​(int hash,
                                   float value)
      • nextHash

        public static int nextHash​(int hash,
                                   double value)
      • nextHash

        public static int nextHash​(int hash,
                                   Object obj)
      • nextHash

        public static int nextHash​(int hash,
                                   boolean[] values)
      • nextHash

        public static int nextHash​(int hash,
                                   byte[] values)
      • nextHash

        public static int nextHash​(int hash,
                                   char[] values)
      • nextHash

        public static int nextHash​(int hash,
                                   short[] values)
      • nextHash

        public static int nextHash​(int hash,
                                   int[] values)
      • nextHash

        public static int nextHash​(int hash,
                                   long[] values)
      • nextHash

        public static int nextHash​(int hash,
                                   float[] values)
      • nextHash

        public static int nextHash​(int hash,
                                   double[] values)
      • nextHash

        public static int nextHash​(int hash,
                                   Object[] objects)
      • fromFloat

        public static int fromFloat​(float value)
      • fromDouble

        public static long fromDouble​(double value)