什么是决定不具有的接口完全通用的get方法背后的原因java.util.Map<K, V>.
为了澄清这个问题,方法的签名是
V get(Object key)
代替
V get(K key)
我想知道为什么(同样的事情remove, containsKey, containsValue).
为什么Collection.remove(Object o)不是通用的?
似乎Collection<E>可能有boolean remove(E o);
然后,当您意外地尝试Set<String>从a中删除(例如)而不是每个单独的String时Collection<String>,这将是编译时错误,而不是稍后的调试问题.