【问题标题】:Error: "Cannot return a void result" in Java recursive list reverse method错误:Java 递归列表反向方法中的“无法返回无效结果”
【发布时间】:2018-05-30 17:45:40
【问题描述】:

所以,我用 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 是个流浪汉。任何帮助将不胜感激。

【问题讨论】:

    标签: java recursion return void signature


    【解决方案1】:

    方法addLast返回void,而recursiveReverse的返回类型是LinkedList&lt;T&gt;,而你想要的是:

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

    【讨论】:

    • 是的,我不知道我当时在想什么。我知道 addLast 是无效的,但我没有建立联系。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    相关资源
    最近更新 更多