因此,我在用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
            }
       }


我已经对这个问题进行了一些搜索,但是我所得到的只是人们在签名无效的情况下试图退还东西的时候。我觉得这段代码没有任何问题,而且Java简直是烧伤。任何帮助,将不胜感激。

最佳答案

方法addLast返回void,而recursiveReverse的返回类型是LinkedList<T>,而您想要的是:

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

07-26 03:49