类定义类名<>

Ari*_*jas 5 java generics

这个班级定义有什么意义,那是什么类?

class Node<K extends Comparable<? super K>,V>
Run Code Online (Sandbox Code Playgroud)

Tud*_*dor 13

这是一个通用的类定义.它转化为:

  • class Node有两种类型作为参数:K和V.
  • 类型K 必须扩展类Comparable
  • Comparable在这种情况下,类本身采用某种类型作为参数,让我们称之为T.
  • type T 必须是K的超类.

编辑:好的,因为请求了一个例子,这个类的简单实例化可能是:

Node<Integer, String> node = new Node<Integer, String>();
Run Code Online (Sandbox Code Playgroud)

由于Integer该类实现Comparable<Integer>它很好地符合上述描述(注意,super类型T也允许与K相同的类型).

V没有约束,所以它可以是任何类型.