是什么意思
class MyMap<K, V> implements Map<Comparable<K>, V>
在课堂上定义?我不明白
MyMap<K, V>
如何成为Map<Comparable<K>, V>
的有效实现,因为MyMap
需要K
和V
而Map
需要Comparable<K>
和V
最佳答案
您正在过度分析声明。 K
可以是任何类型,并且MyMap
实现Map<Comparable<K>, V>
。
[...]不了解MyMap<K, V>
如何成为Map<Comparable<K>, V>
的有效实现[...]
如果您实现Map<Comparable<K>, V>
所需的方法,则可以。特别地,MyMap
需要实现一个具有以下签名的方法,例如:
public Set<Comparable<K>> keySet() {
...
}
请注意,上述方法声明对
K
没有任何约束。换句话说,不应将类声明与class MyMap<K extends Comparable, V> implements Map<K, V>
这意味着
K
必须为Comparable
。关于java - Java类定义泛型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29032925/