我正在尝试创建一个二叉搜索树,该类如下所示:
public class Node<T extends Comparable<T>> {
T data;
Node<T> left
Node<T> right;
int height;
public Node(T data) {
this.data = data;
this.left = null;
this.right = null;
this.height = 0;
}
}
我在其中声明对象的客户端程序如下所示:
public static void main(String[] args) {
Node<T> a = new Node<T>(8);
}
然后,错误作为构造函数出现 Node<T>(T)
指缺少的类型t。我想知道如何将t数据声明为int类型8。如何在不更改节点类的情况下实现这一点?
4条答案
按热度按时间1wnzp6jl1#
尝试
进一步案文:https://docs.oracle.com/javase/tutorial/java/generics/types.html
fnatzsnv2#
定义泛型后,需要特殊的对象
yxyvkwin3#
作为泛型类类型,int基元类型,这就是为什么有一个名为integer的类,它是int的 Package 器
yyhrrdl84#
你必须更换
T
用一种像Integer
:请注意,您不能使用
int
因为只有对象/引用类型才允许作为泛型。无法使用基元类型。