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 voidrecursiveReverse 的 return 类型是 LinkedList<T> ,而你想要的是:

recursiveReverse(l).addLast(a);
return l;