litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.core.simpletypes.nonpublic; public abstract class EqualSupport { public EqualSupport() { } public static boolean equal( Object pThis, Object pThat ) { if ( pThis == pThat ) // Same or both null { return true; } // Both CAN'T be null return (pThis != null) ? pThis.equals( pThat ) : pThat.equals( pThis ); } public static boolean equal( boolean pThis, boolean pThat ) { return (pThis == pThat); } public static boolean equal( int pThis, int pThat ) { return (pThis == pThat); } public static boolean equal( long pThis, long pThat ) { return (pThis == pThat); } public static boolean equal( float pThis, float pThat ) { return (pThis == pThat); } public static boolean equal( double pThis, double pThat ) { return (pThis == pThat); } public static boolean equal( Object[] pThis, Object[] pThat ) { if ( pThis == pThat ) // Same or both null { return true; } if ( (pThis != null) && (pThat != null) && (pThis.length == pThat.length) ) { for ( int i = 0; i < pThis.length; i++ ) { if ( !equal( pThis[i], pThat[i] ) ) { return false; } } return true; } return false; } public static int calcHashCode( Object pObject ) { return (pObject == null) ? 0 : pObject.hashCode(); } public static int calcHashCode( boolean pBool ) { return Boolean.valueOf( pBool ).hashCode(); } public static int calcHashCode( int pInt ) { return pInt; // 'lifted' from Integer } public static int calcHashCode( long pLong ) { return (int) (pLong ^ (pLong >>> 32)); // 'lifted' from Long } public static int hashCodeEm( int pHashCode1, int pHashCode2 ) { return (pHashCode1 * 31) + pHashCode2; } public static int hashCodeEm( int pHashCode1, int pHashCode2, int pHashCode3 ) { return hashCodeEm( hashCodeEm( pHashCode1, pHashCode2 ), pHashCode3 ); } public static int hashCodeEm( int pHashCode1, int pHashCode2, int pHashCode3, int pHashCode4 ) { return hashCodeEm( hashCodeEm( pHashCode1, pHashCode2, pHashCode3 ), pHashCode4 ); } public static int hashCodeEm( int pHashCode1, int pHashCode2, int pHashCode3, int pHashCode4, int pHashCode5 ) { return hashCodeEm( hashCodeEm( pHashCode1, pHashCode2, pHashCode3, pHashCode4 ), pHashCode5 ); } } |