可能重复:
Map.get(Object key)不是(完全)泛型的
原因是什么我们为什么要包含(Object o)而不是contains(E e)?
正如大家都可以看到的那样,类型为E的模板化java.util.List的contains方法没有模板化:它Object取而代之.有谁知道为什么?
在什么情况下会List<String>返回真实的myList.contains(new OtherNonString())?如果我没有弄错,永远不会,除非它被比较的对象具有类型E作为祖先(在我的字符串示例中由于String是最终的不可能)
是否只是为了保持与仿制前版本的向后兼容性?我错过了一个有意义的用例吗?如果它只是为了向后兼容,为什么不弃用contains(Object)并创建一个contains(E)?
编辑:
我之前的一些子问题已得到解答.作为参考,也请检查这个问题
| 归档时间: |
|
| 查看次数: |
1939 次 |
| 最近记录: |