1.给int变量赋予某个非零值常量,比如17.
2.位对象内每个有意义的域f(既每个可以做equals()操作的域)计算出一个int散列码c.
boolean c=(f?0:1)
byte、char、short或int c=(int)f
long c=(int)(f^(f>>>32))
float c=Float.floatToIntBits(f)
double long l=Double.doubleToLongBits(f)
Object c=f.hashCode()
数组 对每个元素应用上述规则