2014-02-20 70 views
3

我有以下代碼。我知道明星是正確的,但我不能添加到ArrayList如何添加到2D數組列表

private ArrayList<int[]> action = new ArrayList<int[]>(); 
action.add(new int[2]); 

那麼我

action.add({4,8}); // error 

爲什麼不能我添加{4,8}到列表中?

回答

3

你需要將它完整地寫出:

action.add(new int[]{4,8}); 

平原{...}短手只初始化在聲明的時間的陣列時的工作原理:

int[] a = {4,8}; // works 

int[] b; 
b = {4,8}; // error 

進一步詳情,請參閱JLS §10.6

1

你也可以做到這一點如下:

int[] b = new int[2]; 
b[0] = 4; 
b[1] = 8; 

然後:

action.add(b);