一个对象的hashcode必须是确定的,在比较对象是否相等时调用方法equals(),如果它被重写,那么对象的hashCode()方法一般也要重写。 两个对象是相等的,那么他们必须有相同的hashCode整数值,一般是根据equals方法中用到的数值,经过一定的运算生成这个散列码。所以,这里的29没有特殊意义,换作其它值也可以。