gpt4 book ai didi

java - 通用二叉搜索树 Java 类型参数不在范围内

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:39 25 4
gpt4 key购买 nike

我做了以下二叉搜索树,但它不起作用......需要帮助

class Tree<ContentType extends Comparable<ContentType>>{


Node node;
public Tree(){
node = null;
}
public Tree(ContentType pContent){
node = new Node<ContentType>(pContent);
}
public Tree(ContentType pContent, Tree pLeftTree, Tree pRightTree){
node = new Node(pContent);
node.setLeftTree(pLeftTree);
node.setRightTree(pRightTree);
}
public boolean isEmpty(){
...
}

public void insert(ContentType pContent){
...
}

public ContentType search(ContentType pContent){
...
}

public void delete(ContentType pContent){
...
}
public ContentType getContent(){
...
}


...

private class Node<ContentType>{
Tree left = null;
Tree right = null;
ContentType content = null;


public Node(ContentType pContent){
content=pContent;
left = new Tree();
right = new Tree();

}

...

}


}

现在它告诉我了

type-variable Content-Type#1 is not within bounds of type-variable Content-Type#2.

感谢大家的帮助

最佳答案

这是完全固定的类文件 - 确保在声明类型的所有实例时指定泛型类型!

class Tree<ContentType extends Comparable<ContentType>>{

// here
Node<ContentType> node;

public Tree(){
node = null;
}

public Tree(ContentType pContent){
node = new Node<ContentType>(pContent);
}

// each time Tree is used, it should be typed!
public Tree(ContentType pContent, Tree<ContentType> pLeftTree, Tree<ContentType> pRightTree){
// same with Node!
node = new Node<ContentType>(pContent);
node.setLeftTree(pLeftTree);
node.setRightTree(pRightTree);
}

//Node needs to be typed with the exact same type as Tree!
private class Node<ContentType extends Comparable<ContentType>>{
// Typed Tree!
Tree<ContentType> left = null;
Tree<ContentType> right = null;
ContentType content = null;


public Node(ContentType pContent){
content=pContent;
left = new Tree<ContentType>();
right = new Tree<ContentType>();
}

public void setLeftTree(Tree<ContentType> tree) {
left = tree;
}

public void setRightTree(Tree<ContentType> tree) {
right = tree;
}
}
}

编译时不带警告:

~ bfung$ javac -version
javac 1.8.0_40
~ bfung$ javac Tree.java
~ bfung$

关于java - 通用二叉搜索树 Java 类型参数不在范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37876734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com