2012-10-27 139 views
0

重新問,因爲我的其他線程不明確,我不明白真正的問題。ArrayList初始化爲null?

public class Test extends Survey 
{ 
    ArrayList<Answer> answerList; 
    ArrayList<Question> questionList; 

    public Test() 
    { 
    questionList = new ArrayList<Question>(); 
    answerList = new ArrayList<Answer>(); 
    ... 
    } 
... 
} 

在Eclipse調試器,它顯示answerList值作爲零,而questionList不是。是什麼賦予了?

編輯:是否有可能我的調試器搞砸了?我不能讓它停止在我設置斷點的地方。它停留在舊的而忽略新的。我沒有設置新的配置或任何東西。

+0

您稍後重新聲明answerList嗎?它在哪裏顯示爲空?你可以發佈[SSCCE](http:/sscce.org)嗎? –

+1

你的斷點在哪裏?它是非常有意義的,如果它在'answerList = new ArrayList ();' – onemach

+0

這行代碼沒有問題;你很可能後來將'answerList'重新初始化爲空。 – Vulcan

回答

3

保持你的斷點下一行

answerList = new ArrayList<Answer>(); 

再檢查answerList。 因爲如果斷點位於初始化行上,那一行尚未執行,並且此時該值爲空。

+0

是否有可能我的調試器被搞砸了?我不能讓它停止在我設置斷點的地方。它停留在舊的而忽略新的。我沒有設置新的配置或任何東西。對於它的價值,斷點在該行之後。 – iaacp

+0

你在eclipse中編譯嗎?如果沒有,請確保您的源代碼符合編譯代碼。 – stacktrace

+0

是的,我正在做所有的日食。 – iaacp

2

你的斷點在哪裏? 如果它在answerList = new ArrayList<Answer>();的行中,這是非常有意義的。當你在它上面設置一個斷點和eclipse中斷時,你看到的所有東西就是之前那行的執行。