什么是决定不具有的接口完全通用的get方法背后的原因java.util.Map<K, V>.
为了澄清这个问题,方法的签名是
V get(Object key)
代替
V get(K key)
我想知道为什么(同样的事情remove, containsKey, containsValue).
在Java中,Map接口定义为,
public interface Map<K,V> {
...
V get(Object key);
...
}
Run Code Online (Sandbox Code Playgroud)
为什么不?
V get(K key);
Run Code Online (Sandbox Code Playgroud)
我只是碰到了一个讨厌的bug,因为使用了错误的类型键.我认为泛型的目的是在编译期间尽早捕获类型错误.这会破坏这个目的吗?