为了账号安全,请及时绑定邮箱和手机立即绑定

T 上的初学者 Java Q 扩展了 Comparable T

T 上的初学者 Java Q 扩展了 Comparable T

大话西游666 2022-06-23 20:08:42
我是学习用java编写代码的初学者,正在实现一个红黑树数据结构。我为 Main 类中的节点创建了一个类,并使用了 T extends Comparable T。但是,以下行RedBlackNode<T> nil =new RedBlackNode<T>(mainkey);给出错误,因为它没有识别“T”数据类型的使用。我正在努力学习 Comparable 的用法,但无法解决此问题。任何帮助,将不胜感激public class Main {    public void main(String[] args) {        System.out.println("Hello World! qNew");        int mainkey=10;        System.out.println(mainkey);        RedBlackNode<T> nil =new RedBlackNode<T>(mainkey);        //RedBlackNode<T> root=nil;        //System.out.println(nil.key);    }    public class RedBlackNode<T extends Comparable <T>>    {        public static final int BLACK = 0;  //Enumerating Colors with numbers for        public static final int RED = 1;     // Color of node        public T key;        RedBlackNode<T> parent;  //Parent Node        RedBlackNode<T> left;    //Left Child Node        RedBlackNode<T> right;   //Right Child Node        public int numLeft=0;     //No of elements to left of a node        public int numRight=0;     //No of elements to right of a node        public int color;       //Color of each node        //Default constructor to initialize        RedBlackNode()        {            color=BLACK;            numLeft=0;            numRight=0;            parent=null;            left=null;            right=null;        }        //Constructor to initialize key value of the node        RedBlackNode(T key)        {            this();            this.key=key;        }    }}
查看完整描述

2 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

T 代表你想要的任何东西。在编写课程时,您使用大写字母 T 或 G,但是当您使用它时,它需要知道 T 是什么。

如果我有一个 Person 类作为节点中的数据,我会像这样使用它RedBlackNode<Person> parent = new RedBlackNode<Person>();


查看完整回答
反对 回复 2022-06-23
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

实际上这有效:

RedBlackNode nil = new RedBlackNode(mainkey);

似乎通过跳过数据类型,Java 自动使用提供的数据类型作为参数


查看完整回答
反对 回复 2022-06-23
  • 2 回答
  • 0 关注
  • 86 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信