2012-05-04 26 views
0

我想要做的是在不知道方法名稱的情況下在類中執行方法。我有一個來自類的方法數組,以及它在數組中的什麼方法的索引,但不是實際的方法。這是我試圖......但我不知道如何去做。如何使用類中的方法數組來執行類的方法?

Class blocks = Blocks.class; 
Method[] methods = blocks.getDeclaredMethods(); 
Blocks block = new Blocks(); 
String a = block.(methods[blockBox.getSelectedIndex()]); 

有沒有辦法做到這一點?我也不能重寫我的代碼以更好地適應這種情況。

回答

1

對於實例方法:

String a = (String) methods[blockBox.getSelectedIndex()].invoke(block); 

對於靜態方法:

String a = (String) methods[blockBox.getSelectedIndex()].invoke(null); 

提供的方法有返回類型的字符串,沒有參數

0

呼叫invoke()對指數的方法,你得check this