我有一个任务来实现一个单链表。我试图弄清楚如何获得头部,但我最终得到堆栈溢出错误或空指针错误。有人可以帮助我。我已经显示了相关的代码:
public class Llist {
private Object data;
private Llist next;
private Llist head = new Llist(null, null);
public Llist(Object d) {
this(d, null);
}
public Llist(Object d, Llist n) {
data = d;
next = n;
}
我有一个添加节点的方法,它会检查是否有头,如果没有则新节点是头:
public static Llist add(Llist l, Object d) {
Llist n = new Llist(d,l);
if(l.head == null) {
l.head = n;
}
return n;
}
目前我得到一个堆栈溢出错误......但是如果我在 2 中删除将 head 设置为 null 的行