Error: "Cannot return a void result" in Java recursive list reverse method
Error: "Cannot return a void result" in Java recursive list reverse method
所以,我在 Java 中编写的方法有一些奇怪的问题,我需要一些帮助。这是代码:
public <T> LinkedList<T> recursiveReverse(LinkedList<T> l){
if(l.size() == 1) return l;
else{
T a = l.pop();
return recursiveReverse(l).addLast(a); <-- Error
}
}
我已经对这个问题进行了一些搜索,但我得到的只是当人们在签名无效时试图 return 的事情。我不觉得这段代码有什么问题,而且 Java 是个流浪汉。任何帮助将不胜感激。
方法 addLast returns void 而 recursiveReverse
的 return 类型是 LinkedList<T>
,而你想要的是:
recursiveReverse(l).addLast(a);
return l;
所以,我在 Java 中编写的方法有一些奇怪的问题,我需要一些帮助。这是代码:
public <T> LinkedList<T> recursiveReverse(LinkedList<T> l){
if(l.size() == 1) return l;
else{
T a = l.pop();
return recursiveReverse(l).addLast(a); <-- Error
}
}
我已经对这个问题进行了一些搜索,但我得到的只是当人们在签名无效时试图 return 的事情。我不觉得这段代码有什么问题,而且 Java 是个流浪汉。任何帮助将不胜感激。
方法 addLast returns void 而 recursiveReverse
的 return 类型是 LinkedList<T>
,而你想要的是:
recursiveReverse(l).addLast(a);
return l;