[英]Having trouble with adding an ArrayList to an ArrayList of ArrayLists
public class Tabel {
private static int dimension;
private ArrayList<ArrayList<Character>> tabel;
public Tabel(int dimension) {
Tabel.dimension = dimension;
for (int i=0;i<Tabel.dimension*Tabel.dimension;i++) {
tabel.add(new ArrayList<Character>());
}
}
}
當我嘗試調試(eclipse ide)時,我遇到很多奇怪的“錯誤”,或者至少遇到了一些我認為是意外的事情。
專用靜態int不會出現在調試的“變量”部分中。
我得到一個NullPointerException
上tabel.add(...)
但是當我觀看了調試,它進入for
一次,沒有在表中添加任何東西,因為當我點擊“下一步”,而不是跳轉到花括號它跳出功能的
如果我對.add
注釋, .add
它將起作用(我認為)。 我的語法錯誤嗎? 還是我應該發布更多代碼?
tabel
未初始化,因此為null。
更改
private ArrayList<ArrayList<Character>> tabel;
至
private ArrayList<ArrayList<Character>> tabel = new ArrayList<ArrayList<Character>>();
或更好:
private List<ArrayList<Character>> tabel = new ArrayList<ArrayList<Character>>();
因為這不會將tabel
與ArrayList
綁定tabel
。
您尚未初始化private
列表。 請執行下列操作:
private List<ArrayList<Character>> tabel = new ArrayList<ArrayList<Character>>();
我也很難理解嵌套的級別。
最好引用List而不是ArrayList。 除非您在具體的類中需要一個方法,否則它使您的程序可以更靈活地引用該接口以及該接口中的方法。
創建具有定義為“字符列表”的字段的類(1)。 將字段設置為構造函數中的新ArrayList。
創建另一個類(2),該類的字段定義為類(1)的列表。 將字段設置為構造函數中的新ArrayList。
創建另一個具有定義為類列表(2)的字段的類(3)。 將字段設置為構造函數中的新ArrayList。
由於您了解自己在做什么,因此可以為這3個類指定更有意義的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.