我有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。 我怎样才能传递数组?
答案 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);