相关疑难解决方法(0)

Map.get(Object key)不是(完全)泛型的原因是什么

什么是决定不具有的接口完全通用的get方法背后的原因java.util.Map<K, V>.

为了澄清这个问题,方法的签名是

V get(Object key)

代替

V get(K key)

我想知道为什么(同样的事情remove, containsKey, containsValue).

java generics collections map

395
推荐指数
8
解决办法
5万
查看次数

Java Generics:为什么Map.get()忽略类型?

在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,因为使用了错误的类型键.我认为泛型的目的是在编译期间尽早捕获类型错误.这会破坏这个目的吗?

java generics

9
推荐指数
1
解决办法
2381
查看次数

标签 统计

generics ×2

java ×2

collections ×1

map ×1