兼容性空指针错误?

时间:2015-02-23 02:13:25

标签: java

int e=0;
int Compatibility=0;
int numOfDisagreements=0;
int tsize=likes.size()+dislikes.size();
int numOfCommonLikes=0;
int numOfCommonDislikes=0;
while(e<tsize){
    if (user.likes.get(e).equals(Stranger.likes.get(e))){
        if ((Stranger.howDoYouLike(likes.get(e)))== 1 && user.howDoYouLike(likes.get(e))==1)
        {
            numOfCommonLikes=numOfCommonLikes+1;
        }
    }
    else if (user.dislikes.get(e).equals(Stranger.dislikes.get(e))){
        if ((Stranger.howDoYouLike(dislikes.get(e)))== -1 && user.howDoYouLike(likes.get(e))==-1)
        {
            numOfCommonDislikes=numOfCommonDislikes+1;
        }

我得到一个nullpointer错误,我不知道这意味着什么,但有人可以告诉我这个代码有什么问题,我看起来真的很难

    else 
    {
        numOfDisagreements=numOfDisagreements+1;
    }

        e+;
    }

    Compatibility=(numOfCommonLikes+ numOfCommonDislikes)- numOfDisagreements;
    return Compatibility;
}     

1 个答案:

答案 0 :(得分:0)

你在初始化你的名单吗?我看到了这句话:

int tsize=likes.size()+dislikes.size();

但没有证据证明您曾创建任何列表对象。 NullPointerException是指您尝试使用尚未创建的对象时。例如,如果我尝试这样做:

List<Object> objects;
objects.size();

然后我会得到一个NullPointerException。我需要像这样创建列表:

List<Object> objects;
objects = new List<Object>();

在我尝试调用任何属于它的方法之前。