基于列表的简单消息板实现中的NullPointerException

时间:2013-11-05 12:23:43

标签: java list null-pointer

我正在尝试为一个简单的留言板创建一个列表结构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());
    }
}   

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

如果n.tail()null,则以下行将抛出NPE:

if (n.tail().equals(null)){

您需要检查:

if (n.tail() == null){ 

代替。