Kev*_*lan 10 java generics map
此方法和Map接口中的许多其他方法不是通用的.几乎任何键值都需要作为参数,它接受Object,即remove,get和containsKey.
知道为什么他们做出这个决定.我的假设是它是为了支持遗留代码,但对我来说,我认为这是一个弱势的立场.
任何人都可以向我提供一个特定的理由,为什么最好在这里接受Object而不是KeyType.
用于检索/删除/检查给定键的存在的对象不一定必须与用于存储它的对象(=键)具有相同的类型.
它需要equal和hashCode键一样返回,但规范中没有任何内容表明它必须属于同一类型.
这个事实很少被使用,并且大多数时候您将使用与用于存储它们的键相同的键(或至少相同类型的对象)来检索值.
但由于这是"旧"中支持的用例HashMap,因此它也需要在泛型版本中得到支持.
请注意所有keySet()使用特定类型的方法,因为它确实put()在调用时确切地返回用作键的对象.
| 归档时间: |
|
| 查看次数: |
2758 次 |
| 最近记录: |