3
可能重复:
Why aren’t Java Collections remove methods generic?Java列表界面包含(对象O)方法的签名
Java的Collection<E>
接口具有contains
方法具有以下签名:
boolean contains(Object o)
由于接口类型为E
不应签名是
boolean contains(E o)
,以反映并只允许E
类型的参数。
同样的问题可以关于remove(Object o)
方法
可能是它在java世界中诞生之前被添加的世界 –
查看[Collection JavaDoc](http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html# contains(java.lang.Object)),它看起来像Java 1.2中的方法,泛型在Java语言中还不存在。 –
此问题以前已被问及过很多次:[为什么Java Map对get和remove方法采用非类型化参数?](http://stackoverflow.com/questions/4269147/why-does-java-mapk -v-take-an-untyped-parameter-for-the-the-get-and-remove-methods)和[为什么不是Java集合删除方法通用?](http://stackoverflow.com/questions/104799/why -arent-java-collections-remove-methods-generic) –