簡體   English   中英

你如何傳遞數組?

[英]how do you pass arrays?

我有2節課。 1個類傳遞一個ImageIcon [],另一個類獲取數組並保存它。

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

Class 1:monsterLabel []是一個ImageIcon [] saveLoad是Class2的名稱

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 [0],它告訴我class2正在尋找一個ImageIcon []而不是ImageIcon。 我怎樣才能傳遞數組?

像這樣:

saveLoad.saver(toSave);

它是一個數組的事實已經是聲明類型的一部分,所以這個事實不需要重申。 它與沒有“int x”沒有什么不同。 我們不會調用someMethod(int x) - 我們只調用someMethod(x)

你可能只想要:

saveLoad.saver(toSave);

替換saveLoad.saver(toSave[]); 使用saveLoad.saver(toSave);

您希望傳遞變量,而不是傳遞變量的一部分。

將[]作為值傳遞時,不要將[]放在數組的末尾。 它應該是:

saveLoad.saver(toSave);

傳遞參數時,您不需要包含[]。

saveLoad.saver(toSave); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM