Necessary Hash
I came across this piece of code today. There are several more objects like this one, and I imagine they get put in a collection at some point...
Variable names have been changed to protect the guilty:
public int hashCode ()
{
int result = 17;
result = 37 * result + ((m_var1 != null) ? m_var1.hashCode() : 0);
result = 37 * result + ((m_var2 != null) ? m_var2.hashCode() : 0);
result = 37 * result + ((m_var3 != null) ? m_var3.hashCode() : 0);
result = 37 * result +
((m_var4 != null) ? m_var4.hashCode() : 0);
result = 37 * result + ((m_var5 != null) ? m_var5.hashCode() : 0);
result = 37 * result +
((m_var6 != null) ? m_var6.hashCode() : 0);
result = 37 * result + (m_var7 ? 0 : 1);
result = 37 * result + (m_var8 ? 0 : 1);
result = 37 * result +
((m_var9 != null) ? m_var9.hashCode() : 0);
result = 37 * result +
((m_var10 != null) ? m_var10.hashCode() : 0);
result = 37 * result +
((m_var11 != null) ? m_var11.hashCode() : 0);
result = 37 * result +
((m_var12 != null) ? m_var12.hashCode() : 0);
result = 37 * result + ((m_var13 != null) ? m_var13.hashCode() : 0);
result = 37 * result + ((m_var14 != null) ? m_var14.hashCode() : 0);
result = 37 * result +
((m_var15 != null) ? m_var15.hashCode() :
0);
result = 37 * result +
((m_var16 != null) ? m_var16.hashCode() : 0);
result = 37 * result +
((m_var17 != null) ? m_var17.hashCode() : 0);
result = 37 * result +
((m_var18 != null) ? m_var18.hashCode() : 0);
result = 37 * result +
((m_var19 != null) ? m_var19.hashCode() : 0);
result = 37 * result +
((m_var20 != null) ? m_var20.hashCode() : 0);
result = 37 * result +
((m_var21 != null) ? m_var21.hashCode() : 0);
result = 37 * result +
((m_var22 != null) ? m_var22.hashCode() : 0);
result = 37 * result + m_var23;
result = 37 * result + m_var24;
result = 37 * result +
((m_var25 != null) ? m_var25.hashCode() : 0);
result = 37 * result + m_var26;
result = 37 * result + m_var27;
result = 37 * result + ((int) m_var28);
result = 37 * result + ((int) m_var29);
result = 37 * result +
((m_var30 != null) ? m_var30.hashCode() : 0);
result = 37 * result + (m_var31 ? 0 : 1);
result = 37 * result + (m_var32 ? 0 : 1);
result = 37 * result + ((m_var33 != null) ? m_var34.hashCode()
: 0);
result = 37 * result + ((m_var35 != null) ? m_var35.hashCode()
: 0);
result = 37 * result +
((m_var36 != null) ? m_var36.hashCode() : 0);
/* ### NECESSARY ??
result = 37 * result +
((m_var37 != null) ? m_var37.hashCode() : 0);
result = 37 * result + ((m_var38 != null) ? m_var38.hashCode()
: 0);
*/
result = 37 * result +
((m_var39 != null) ?
m_var39.hashCode() : 0);
result = 37 * result +
((m_var40 != null) ?
m_var40.hashCode() : 0);
result = 37 * result +
((m_var41 != null) ?
m_var41.hashCode() : 0);
result = 37 * result +
((m_var42 != null) ?
m_var42.hashCode() : 0);
result = 37 * result +
((m_var43 != null) ?
m_var43.hashCode() : 0);
result = 37 * result +
((m_var44 != null) ?
m_var44.hashCode() : 0);
result = 37 * result + (m_var45 ? 0 : 1);
result = 37 * result + (m_var46 ? 0 : 1);
result = 37 * result + (m_var47 ? 0 : 1);
result = 37 * result +
((m_var48 != null) ?
m_var49.hashCode() : 0);
result = 37 * result +
((m_var50 != null) ?
m_var50.hashCode() : 0);
result = 37 * result + m_var51;
result = 37 * result + (int)m_var52;
result = 37 * result +
((m_var53 != null) ?
m_var53.hashCode() : 0);
result = 37 * result +
((m_var54 != null) ?
m_var54.hashCode() : 0);
result = 37 * result +
((m_var55 != null) ?
m_var55.hashCode() : 0);
result = 37 * result +
((m_var56 != null) ? m_var56.hashCode () : 0);
result = 37 * result +
((m_var57 != null) ? m_var57.hashCode () : 0);
return result;
}
Variable names have been changed to protect the guilty:
public int hashCode ()
{
int result = 17;
result = 37 * result + ((m_var1 != null) ? m_var1.hashCode() : 0);
result = 37 * result + ((m_var2 != null) ? m_var2.hashCode() : 0);
result = 37 * result + ((m_var3 != null) ? m_var3.hashCode() : 0);
result = 37 * result +
((m_var4 != null) ? m_var4.hashCode() : 0);
result = 37 * result + ((m_var5 != null) ? m_var5.hashCode() : 0);
result = 37 * result +
((m_var6 != null) ? m_var6.hashCode() : 0);
result = 37 * result + (m_var7 ? 0 : 1);
result = 37 * result + (m_var8 ? 0 : 1);
result = 37 * result +
((m_var9 != null) ? m_var9.hashCode() : 0);
result = 37 * result +
((m_var10 != null) ? m_var10.hashCode() : 0);
result = 37 * result +
((m_var11 != null) ? m_var11.hashCode() : 0);
result = 37 * result +
((m_var12 != null) ? m_var12.hashCode() : 0);
result = 37 * result + ((m_var13 != null) ? m_var13.hashCode() : 0);
result = 37 * result + ((m_var14 != null) ? m_var14.hashCode() : 0);
result = 37 * result +
((m_var15 != null) ? m_var15.hashCode() :
0);
result = 37 * result +
((m_var16 != null) ? m_var16.hashCode() : 0);
result = 37 * result +
((m_var17 != null) ? m_var17.hashCode() : 0);
result = 37 * result +
((m_var18 != null) ? m_var18.hashCode() : 0);
result = 37 * result +
((m_var19 != null) ? m_var19.hashCode() : 0);
result = 37 * result +
((m_var20 != null) ? m_var20.hashCode() : 0);
result = 37 * result +
((m_var21 != null) ? m_var21.hashCode() : 0);
result = 37 * result +
((m_var22 != null) ? m_var22.hashCode() : 0);
result = 37 * result + m_var23;
result = 37 * result + m_var24;
result = 37 * result +
((m_var25 != null) ? m_var25.hashCode() : 0);
result = 37 * result + m_var26;
result = 37 * result + m_var27;
result = 37 * result + ((int) m_var28);
result = 37 * result + ((int) m_var29);
result = 37 * result +
((m_var30 != null) ? m_var30.hashCode() : 0);
result = 37 * result + (m_var31 ? 0 : 1);
result = 37 * result + (m_var32 ? 0 : 1);
result = 37 * result + ((m_var33 != null) ? m_var34.hashCode()
: 0);
result = 37 * result + ((m_var35 != null) ? m_var35.hashCode()
: 0);
result = 37 * result +
((m_var36 != null) ? m_var36.hashCode() : 0);
/* ### NECESSARY ??
result = 37 * result +
((m_var37 != null) ? m_var37.hashCode() : 0);
result = 37 * result + ((m_var38 != null) ? m_var38.hashCode()
: 0);
*/
result = 37 * result +
((m_var39 != null) ?
m_var39.hashCode() : 0);
result = 37 * result +
((m_var40 != null) ?
m_var40.hashCode() : 0);
result = 37 * result +
((m_var41 != null) ?
m_var41.hashCode() : 0);
result = 37 * result +
((m_var42 != null) ?
m_var42.hashCode() : 0);
result = 37 * result +
((m_var43 != null) ?
m_var43.hashCode() : 0);
result = 37 * result +
((m_var44 != null) ?
m_var44.hashCode() : 0);
result = 37 * result + (m_var45 ? 0 : 1);
result = 37 * result + (m_var46 ? 0 : 1);
result = 37 * result + (m_var47 ? 0 : 1);
result = 37 * result +
((m_var48 != null) ?
m_var49.hashCode() : 0);
result = 37 * result +
((m_var50 != null) ?
m_var50.hashCode() : 0);
result = 37 * result + m_var51;
result = 37 * result + (int)m_var52;
result = 37 * result +
((m_var53 != null) ?
m_var53.hashCode() : 0);
result = 37 * result +
((m_var54 != null) ?
m_var54.hashCode() : 0);
result = 37 * result +
((m_var55 != null) ?
m_var55.hashCode() : 0);
result = 37 * result +
((m_var56 != null) ? m_var56.hashCode () : 0);
result = 37 * result +
((m_var57 != null) ? m_var57.hashCode () : 0);
return result;
}