2012-01-08 8 views
2

私は2つのクラスを持っています。 1クラスはImageIcon []を渡し、もう1つのクラスは配列をとり、それを保存します。どのように配列を渡すのですか?

クラス1: monsterLabel [] []を 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は

私に語りました私は数すなわちに入れたときに、私は[]

toSave渡している

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

。 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); 
関連する問題