我正在尝试为一个简单的留言板创建一个列表结构usinsg主题列表,它们本身就是消息列表,我自己实现了binode。但是,当我尝试向我的主题添加帖子时,我得到一个空指针异常。
Exception in thread "main" java.lang.NullPointerException
at TopicList.remove(TopicList.java:110)
at TopicList.addPost(TopicList.java:80)
at TestHarness.main(TestHarness.java:13)
我的代码如下: TestHarness.main
TopicList list = new TopicList();
list.addTop(new Message("user1", "post1"), "Topic 0");
list.addTop(new Message("user2", "post2"), "Topic 1");
list.addPost(new Message("user3", "post3"), 0);
System.out.println(list);
TopicList.addPost()
public void addPost(Message m, int id){
Topic t;
t = (Topic) getTopicNode(id).head();
this.remove(getTopicNode(id)); //This is line 80 in my code
t.addMessage(m);
topiclist = new Node(t, topiclist);
}
TopicList.remove()
private void remove(Node n){
if (n.tail().equals(null)){ // this is line 110
n.prev().nullTail();
}
else{
n.prev().join(n.tail());
}
}
感谢您的帮助。
答案 0 :(得分:1)
如果n.tail()
为null
,则以下行将抛出NPE:
if (n.tail().equals(null)){
您需要检查:
if (n.tail() == null){
代替。