java - 类定义类名<>

标签 java generics

这个类的定义是什么意思,那是什么类?

class Node<K extends Comparable<? super K>,V>

最佳答案

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

  • Node 类有两种类型作为参数:K 和 V。
  • 类型 K 必须扩展类 Comparable
  • 类(class) Comparable在这种情况下,它本身采用某种类型作为参数,我们称它为 T。
  • 类型 T 必须是 K 的父类(super class)。

编辑:好的,既然请求了一个例子,这个类的一个简单实例化可以是:

Node<Integer, String> node = new Node<Integer, String>();

Integer类(class)工具Comparable<Integer>它非常符合上面的描述(注意 super 也允许类型 T 与 K 相同)。

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

关于java - 类定义类名<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422078/

相关文章:

java - Java单元测试:如何验证是否调用了私有(private)方法?

java - CXF 2.7 给出 common.ToolException : Non unique body parts error

Swift:我可以拥有一个继承自协议(protocol)并对其进行约束的协议(protocol)吗?

java - Consumer<T> 映射到 HashMap 中的 Class<T>

java - 在 Kotlin 中映射的可变参数

Java Scanner 未找到线路,然后 Scanner 关闭时出错?

java - 什么是NullPointerException,我该如何解决?

java - 一个变量减少而另一个变量增加

Java泛型

java - java中的通用访问者模式