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";
}
}
}
...全文
222 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
泛型应用不宜太过复杂,否则代码会不够简洁,可读性差。
  • 打赏
  • 举报
回复
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的定义不一样。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧