我不明白为什么在我的for循环中存在错误(方法findNodeByNode(ITreeNode<>)未定义类型NODETYPE)。大学有完全相同的代码,但他没有错误? 请帮帮我
public class GenericTreeNode<NODETYPE> extends Object implements ITreeNode<NODETYPE> {
NODETYPE nodeValue;
String label;
private LinkedList<NODETYPE> children;
public GenericTreeNode(String label, NODETYPE value)
{
this.label=label;
this.nodeValue=value;
children= new LinkedList<NODETYPE>();
}
public boolean checkNodeByValue(NODETYPE value) {
if(this.nodeValue.equals(value))
{
return true;
}
else
return false;
}
public ITreeNode<NODETYPE> findNodeByValue(NODETYPE searchValue) {
if(this.checkNodeByValue(searchValue))
{
return this;
}
if(this.isLeaf())
{
return null;
}
long length = this.children.size();
int i;
for(i=0; i < length; i++)
{
this.children.get(i)).findNodeByValue( searchValue);
}
return null;
}
答案 0 :(得分:0)
您有两个连续的括号:
get(i))
通过以下方式更改句子:
this.children.get(i).findNodeByValue( searchValue);
答案 1 :(得分:0)
findNodeByValue(...)属于GenericTreeNode&lt; NODETYPE&gt;类,但您在LinkedList&lt; NODETYPE&gt;中的NODETYPE实例上调用它。您只能在GenericTreeNode&lt; NODETYPE&gt;的实例上调用它。 (或者只要在这个类的实例上执行它就调用它)