Java发布比较列表中的字符串

时间:2013-11-27 23:49:12

标签: java list comparison

我正在使用一个中间Java类,我们已经分配了这个类来创建一个字典。用户将输入单词和含义,然后将其添加到列表

目前,只要在列表中添加新单词,就应该将自己与其他单词进行比较,直到找到合适的位置。每当我输入一个在第一个单词之前的新单词时,它会删除第一个单词并将其置于其中, 每当我得到一个NullPointerException之后我应该说的话。我不确定是什么问题

这是我的代码中给我带来问题的部分:

    void add(Word w)
{
    WordNode temp = new WordNode(w);


    if (list == null)
        list = temp;

    else
    {
        WordNode aux = list;
                    WordNode back = null;
                    boolean found = false;
        while(aux != null && !found)
        if (temp.word.getTitle().compareTo(aux.word.getTitle()) < 0) 
                        found = true;
                    else
                    {
                        back = aux;
                        aux = aux.next;
                    }
                    aux.next = temp;
                    if (back == null)
                        list = temp;
                    else
                        back.next = temp;

    }// End of the else

}

请帮助!

1 个答案:

答案 0 :(得分:0)

while(aux != null && !found)
    if (temp.word.getTitle().compareTo(aux.word.getTitle()) < 0) 
                    found = true;
                else
                {
                    back = aux;
                    aux = aux.next;
                }

当aux为null时退出while循环时,下一行

aux.next = temp;

会产生nullpointerexception,因为aux为null