0

我有一个任务,我遇到了一些麻烦。以下方法标头是必需的,我无法更改它们。我必须提供以下方法的实现:

contains2(T anEntry)
{
//my code here
}

调用私有递归方法:

private boolean contains(T anEntry, Node startNode)
{
//my code here
}

我的问题是,如何从方法 contains2 获取类型 T 的输入,并使其方法 contains 采用相同的类型 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 作为输入。

4

1 回答 1

0

你的问题就在这里:

T entry = T anEntry;

这是无效的语法。暂时不考虑声明对输入参数的额外引用并将布尔值与 进行比较的无用之处true,您应该简单地省略该T行中的第二个。

这是你的另一个问题:

if(contains(entry, startingNode) = true)

在这里,您尝试将值分配给true表达式。你想要==运营商。或者只是不比较布尔值,true因为这不会改变结果。

于 2013-10-04T04:32:26.280 回答