Java class 定义泛型
Java class definition generics
是什么意思
class MyMap<K, V> implements Map<Comparable<K>, V>
在class定义?我不明白 MyMap<K, V>
如何成为 Map<Comparable<K>, V>
的有效实现,因为 MyMap
需要 K
和 V
而 Map
需要 Comparable<K>
和 V
您对声明的分析过度了。 K
只是任何类型,MyMap
实现了 Map<Comparable<K>, V>
.
[...] don't understand how MyMap<K, V>
can be a valid implementation of Map<Comparable<K>, V>
[...]
如果你实现了Map<Comparable<K>, V>
要求的方法就可以了。特别是 MyMap
需要实现具有以下签名的方法,例如:
public Set<Comparable<K>> keySet() {
...
}
请注意,上述方法声明对 K
没有任何限制。换句话说,class 声明不应与
混淆
class MyMap<K extends Comparable, V> implements Map<K, V>
这意味着 K
需要 Comparable
.
class MyMap<K, V> implements Map<Comparable<K>, V>
在class定义?我不明白 MyMap<K, V>
如何成为 Map<Comparable<K>, V>
的有效实现,因为 MyMap
需要 K
和 V
而 Map
需要 Comparable<K>
和 V
您对声明的分析过度了。 K
只是任何类型,MyMap
实现了 Map<Comparable<K>, V>
.
[...] don't understand how
MyMap<K, V>
can be a valid implementation ofMap<Comparable<K>, V>
[...]
如果你实现了Map<Comparable<K>, V>
要求的方法就可以了。特别是 MyMap
需要实现具有以下签名的方法,例如:
public Set<Comparable<K>> keySet() {
...
}
请注意,上述方法声明对 K
没有任何限制。换句话说,class 声明不应与
class MyMap<K extends Comparable, V> implements Map<K, V>
这意味着 K
需要 Comparable
.