我有一项任务,我遇到了一些麻烦。需要以下方法标头,我无法更改它们。我必须提供以下方法的实现:
contains2(T anEntry)
{
//my code here
}
调用私有递归方法:
private boolean contains(T anEntry, Node startNode)
{
//my code here
}
我的问题是,如何从方法contains2获取类型T的输入,并使其方法包含相同类型的T参数?这就是我尝试过的。
private boolean contains2(T anEntry)
{
boolean found = false;
T entry = T anEntry;
Node startingNode = firstNode;
if (contains(entry, startingNode) = true)
found = true;
return found;
}//end method contains2
private boolean contains(T anEntry, Node startNode)
{
boolean found = false;
return found;
}//end method contains
对于此行代码的“entry”参数,我收到以下错误“required:variable,found:value”:
if (contains(entry, startingNode) = true)
请忽略我的代码没有完成分配,现在我只需要那行代码接受类型T作为输入。
答案 0 :(得分:0)
你的问题就在这里:
T entry = T anEntry;
这是无效的语法。暂时搁置声明对输入参数的额外引用并将布尔值与true
进行比较的无用性,您应该省略该行中的第二个T
。
这是你的另一个问题:
if(contains(entry, startingNode) = true)
在这里,您尝试将值true
分配给表达式。您需要==
运算符。或者只是不要将布尔值与true
进行比较,因为这不会改变结果。