java - 该方法必须返回 Object 类型的结果

标签 java compiler-errors linked-list

package LinkedList;

public class LinkedList {

public class Node {
    Object data;
    Node next;
    //Constructor of Node
    Node(Object data){
        this.data = data;
    }
    //getter
    Object getdata(){
        return this.data;
    }
    Node getnext(){
        return this.next;
    }
    //setter
    void setnext(Node n){
        this.next = n;
    }
}

Node header = null;
int size = 0;
//Constructor of LinkedList
public LinkedList(){};
//return size
int size(){
    return size;
}
//return that list is empty or not
boolean isEmpty(){
    if (size != 0){
        return false;
    }
    return true;
}
Object first(){
    return header.getdata();
}
Object Last(int size){
    Node c;
    for(int i=0 ;i<size-1 ;i++){
        c = header.getnext();
        if (i == size-2){
            Object returndata = c.getdata();
            return returndata;
        }
    }
}

}

first() 函数在 eclipse 上没有任何错误。 但在 last() 函数中,我收到错误,该方法必须返回 Object 类型的结果。如何解决这个错误?

最佳答案

问题是 Last() 并不总是返回一个值,尽管它声称这样做。每个代码路径都必须产生返回。

Object Last(int size){
    Node c;
    for(int i=0 ;i<size-1 ;i++){
        c = header.getnext();
        if (i == size-2){
            Object returndata = c.getdata();
            return returndata;
        }
    }
    return null;
}

关于java - 该方法必须返回 Object 类型的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44092748/

相关文章:

java - 如何检查数组中的每个变量,如果数组中的下一个元素正在增加?

java - 更改 REST API 的 URL 模式

class - 如何从 Delphi Phrism 中的继承类正确调用基类构造函数?

c++ - 包含链表的链表给出堆损坏错误 : Why?

c - 如何将链表中的节点分割成 8 字节的 block ?

java - NoSuchMethodError : org. mockito.internal.runners.RunnerFactory.createStrict

java - 找不到类 : org. glassfish.jersey.servlet.ServletContainer

c++ - 错误 C2512 : 'LayerTwoTree' : no appropriate default constructor available

c++ - 构造函数无法重新声明。为什么?

java - 在 Java 中实现双向链表中的 Iterable