强调了无数次,不要使用引用对象作为map的key。
Object的native方法public native int hashCode(),返回值和对象的内存地址有关。
同一个Object对象new2次,内存地址当然是不一样的,那么它们的hashCode必然不同。
所以,就算两个对象属性完全一致,默认的hashCode依然是不一样的。
引用对象作为map的key,也不是不能,必须重写了引用对象的equals方法和hashCode方法
否则岂不是put了个寂寞
强调了无数次,不要使用引用对象作为map的key。
Object的native方法public native int hashCode(),返回值和对象的内存地址有关。
同一个Object对象new2次,内存地址当然是不一样的,那么它们的hashCode必然不同。
所以,就算两个对象属性完全一致,默认的hashCode依然是不一样的。
引用对象作为map的key,也不是不能,必须重写了引用对象的equals方法和hashCode方法
否则岂不是put了个寂寞