我不知道为什么我的for循环中有错误?

时间:2017-05-19 16:32:18

标签: java for-loop

我不明白为什么在我的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;
}

2 个答案:

答案 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;的实例上调用它。 (或者只要在这个类的实例上执行它就调用它)