2012-01-08 66 views
2

我有2個班。 1個類傳遞一個ImageIcon [],另一個類接受數組並保存它。你如何傳遞數組?

這些是每個類的削減版本:

第1類: monsterLabel []是一個ImageIcon [] saveLoad是是等級2

ImageIcon[] toSave= new ImageIcon[button.length]; 
toSave[i]= new ImageIcon(); 
for (int i = 0; i < 99; i++) { 
toSave[i]=(ImageIcon) monsterLabel[i].getIcon(); 
} 
saveLoad.saver(toSave[]); 

等級2(saveLoad)的名稱

public void saver(ImageIcon[] buttonPic) {} 

問題是在1級時,Eclipse告訴我

"Syntax error on token "[", Expression expected after this token" 

在那裏我路過toSave []

當我把一個數,即。 toSave [0],它告訴我,class2正在尋找ImageIcon []而不是ImageIcon。 如何傳遞數組?

回答

2

你可能只是想:

saveLoad.saver(toSave); 
5

就像這樣:

saveLoad.saver(toSave); 

事實上,它是一個數組已經聲明類型的一部分,所以這其實並不需要重申。這與如果我們有「int x」沒有區別。我們不會撥打someMethod(int x) - 我們只需撥打someMethod(x)

1

路過時,它作爲一個值你不把[]在數組的末尾。它應該是:

saveLoad.saver(toSave); 
2

更換saveLoad.saver(toSave[]);saveLoad.saver(toSave);

你要傳遞的變量,它的類型不是一部分。

1

傳遞參數時,不需要附加[]。

saveLoad.saver(toSave);