Java 泛型转化出错,求教

zh328271057 开发工程师  2017-11-30 10:07:43
package Chapter_12;


//红黑树
public class RBTree<T extends Comparable<T>> {
//测试
public static void main(String[] args){

}


private int size;//元素数量
private Node<T> root;//根节点
private Node<T> NIL = new Node<T>();//红黑树的哨兵


//私有类,表示红黑树的节点
private class Node<T>{
Node<T> parent;//父节点
Node<T> left;//左孩子节点
Node<T> right;//右孩子节点
T value;//元素值
String color;//节点的颜色,非红即黑

//一般构造方法,只指定值
Node(T x){
value = x;
color = "red";

parent = NIL;//出错出错出错出错
left = NIL;//出错出错出错出错
right = NIL;//出错出错出错出错
}
//构造方法,指定父节点和值
Node(Node<T> parent,T x){
value = x;
color = "red";

this.parent = parent;
left = NIL;//出错出错出错出错
right = NIL;//出错出错出错出错
}
//用于哨兵的构造方法
Node(){
parent = null;
left = null;
right = null;
value = null;
color = "black";
}
}
}
...全文
188 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
泛型应用不宜太过复杂,否则代码会不够简洁,可读性差。
  • 打赏
  • 举报
回复
Node<T> 只能是Node 的对象,T代表Node 不能是Node<T>的对象。 T不代表Node<T>。
  • 打赏
  • 举报
回复
自由自在_Yu 2017-11-30
can not convert RBTree<T extends Comparable<T>>.Node<T extends Comparable<T>> to RBTree<T extends Comparable<T>>.Node<T> Node<T> NIL 和Node<T> parent不一样,两个Node不一样,不能转换
  • 打赏
  • 举报
回复
两个T的定义不一样。
  • 打赏
  • 举报
回复
相关推荐
发帖
Java SE
加入

6.2w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2017-11-30 10:07
社区公告
暂无公告