Java类定义泛型

时间:2015-03-13 13:01:05

标签: java generics

的含义是什么?
class MyMap<K, V> implements Map<Comparable<K>, V>

在课程定义中?我不明白MyMap<K, V>如何成为Map<Comparable<K>, V>的有效实施,因为MyMap需要KVMap需要Comparable<K> }和V

1 个答案:

答案 0 :(得分:3)

你过分分析宣言。 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