我根本没有太多关于泛型的经验,我正试图摆脱使用它们。得到这个与整数工作后我试图让它使用泛型工作,但我不断收到以下错误
必需:genericTree 发现:int 原因:实际参数int不能通过方法调用转换转换为genericTree 其中T是一个类型变量: T扩展了类genericTree中声明的Object genericTree.java:83:error:方法add in class genericTree不能应用于给定的类型;
我得到它告诉我的东西,但我不知道如何解决它。我一直在尝试不同的方法,但似乎没有什么对我有用。
继承我的完整代码:
import java.util.*;
class genericTree<T>{
private Node root;
public List <genericTree<T>> list;
private class Node
{
Node left;
Node right;
T data;
Node(T newData)
{
left = null;
right = null;
data = newData;
}
}
genericTree()
{
root = null;
}
public boolean breadthSearch(genericTree<T> searchValue)
{
Queue<Node> queue = new LinkedList<Node>() ;
if (this.root == null)
return false;
queue.clear();
queue.add(root);
while(!queue.isEmpty())
{
Node node = queue.remove();
System.out.print(node.data + " ");
if(node.data == searchValue)
return true;
if(node.left != null)
queue.add(node.left);
if(node.right != null)
queue.add(node.right);
}
return false;
}
public void add(genericTree<T> data)
{
list.add(data);
}
public void display()
{
display(root);
}
private void display(Node node)
{
if(node==null)
return;
display(node.left);
System.out.println(node.data + " ");
display(node.right);
}
public static void main(String[] args)
{
genericTree bst = new genericTree();
bst.add(10);
bst.add(5);
bst.add(6);
bst.add(13);
bst.add(15);
bst.add(8);
bst.add(14);
bst.add(7);
bst.add(12);
bst.add(4);
bst.breadthSearch(6);
}
}
感谢您的帮助
答案 0 :(得分:0)
IT看起来像你想要的那样
public boolean breadthSearch(genericTree<T> searchValue)
是这个
public boolean breadthSearch(T searchValue)
您可能还想确保genericTree<T>
是genericTree<int>
genericTree<int> bst = new genericTree<int>();