你如何传递数组?

时间:2012-01-08 04:19:45

标签: java arrays

我有2节课。 1个类传递一个ImageIcon [],另一个类获取数组并保存它。

这些是每个类的缩减版本:

第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。 我怎样才能传递数组?

5 个答案:

答案 0 :(得分:5)

就像这样:

saveLoad.saver(toSave);

它是一个数组的事实已经是声明类型的一部分,所以不需要重申这个事实。它与没有“int x”没有什么不同。我们不会致电someMethod(int x) - 我们只需致电someMethod(x)

答案 1 :(得分:2)

你可能只想要:

saveLoad.saver(toSave);

答案 2 :(得分:2)

saveLoad.saver(toSave[]);替换为saveLoad.saver(toSave);

您希望传递变量,而不是传递变量的一部分。

答案 3 :(得分:1)

将数组作为值传递时,不要将[]放在数组的末尾。它应该是:

saveLoad.saver(toSave);

答案 4 :(得分:1)

传递参数时,您不需要包含[]。

saveLoad.saver(toSave);