为什么Java的Map<K,V>
会声明这样的方法
V get(Object key) {....}
or
boolean containsKey(Object key) {....}
我原本以为是
V get(K key) {....}
or
boolean containsKey(K key) {....}
相反。
被这个咬住了,定义了一个Map<String,String>
并愉快地称为myMap.get(myEnum)
,没有编译器错误。是的!
如果他们更喜欢Object的“灵活性”,为什么还要麻烦指定K(为了类型安全,哈哈)?
谢谢