作者的探究精神毋庸置疑,拿个对象当作map 的key本身就是很少写的(至少我目前的开发生涯中还没这样做过),不过还是上了一课,感谢!!!
对于作者做的总结,我自己按着自己的理解写到了下方,方便自己日后查看使用:
1.应该避免使用一个对象作为map集合的key , 如果要使用,一定要重写hashCode和equals方法,
并且要保证这个作为key的对象不会再变。
2.map 中的通过keyset(),values(),entrySet() 方法获取的集合也会出现无法新增和修改的情况,
但是却可以做clear和remove操作,如果真想使用,老办法,多套一层new ArrayList()就可以了。
发现某个名人说的话太对了,没有什么问题不是多加一层解决不了的,如果有那就再多加一层。