Java 双链表-添加方法get NPE
我在添加到空列表时得到一个NPE。不过,我看不出有什么不对。我已经初始化了head=null和tail=null,然后我检查head==null,那么列表必须为空,所以添加到head。因为它是列表中唯一的节点,所以它的next和prev必须指向null,head=newnode,tail=newnode。对吧Java 双链表-添加方法get NPE,java,doubly-linked-list,Java,Doubly Linked List,我在添加到空列表时得到一个NPE。不过,我看不出有什么不对。我已经初始化了head=null和tail=null,然后我检查head==null,那么列表必须为空,所以添加到head。因为它是列表中唯一的节点,所以它的next和prev必须指向null,head=newnode,tail=newnode。对吧 public AddressList() { head = null; tail = null; } public void addEntry(String fir
public AddressList() {
head = null;
tail = null;
}
public void addEntry(String firstName, String lastName, String phoneNum, String email) {
EntryNode n = new EntryNode();
if (head == null) {
System.out.println("List is empty ");
n.setNext(null);
n.setPrev(null);
tail = n;
head = n;
}
else {
//add to the head
head.setPrev(n);
n.setNext(head);
head = n;
}
n.setFirstName(firstName);
n.setLastName(lastName);
n.setPhoneNum(phoneNum);
n.setEmail(email);
size++;
}
你的异常被抛出在哪里?你能展示一下EntryNode吗?Yikes,刚刚意识到它被抛出在一个完全不同的地方。我想要一个字符串的开关大小写,所以我用枚举实现了它,但它似乎有点古怪?看起来您的问题不在该方法中。@JackieAldama Switch-on-Strings已在Java 7中引入,如果您可以使用该版本的话。