1
当这个类创建..可比性和仿制药
public static class TreeNode<E extends Comparable<E>>
什么是<E extends Comparable<E>>
是什么意思?
当这个类创建..可比性和仿制药
public static class TreeNode<E extends Comparable<E>>
什么是<E extends Comparable<E>>
是什么意思?
这是一个通用约束。
这意味着无论您存储在TreeNode
中的任何类型必须实现Comparable<E>
接口。
这意味着,只要你创建这个类的一个实例,像
TreeNode<MyClass> myTreeNode = new TreeNode<MyClass>();
MyClass的必须实现可比< MyClass的>
public class MyClass implements Comparable<MyClass>
{
//CODE
}
PSSH ...它标记的Java。 – BalusC 2011-04-21 17:27:59
@BalusC - 良好的捕获 – Spidy 2011-04-21 17:29:39
正如Spidy指出的那样,这意味着类型'E'必须实现'Comparable'(它自己的类型,这很常见)。或者,您可以支持旧的,泛型类型的'E extends Comparable',但这不是泛型的,意味着代码将需要投射,因为Comparable的使用将接受'Object'而不是'E'。这是奇怪的语法,但它意味着对象必须实现一个恰好需要对象本身作为自己的泛型类型的接口。 – pickypg 2011-04-21 17:31:37