0
我有一個Object[]
,我需要閱讀的類型爲Class[]<?>
,我則去這個方法讀陣列成第二陣列
public static void invokeMethod(String className, String methodName,
Class<?>[] paramTypes, Object[] params) {
try {
Class<?> commandclass = Class.forName(className);
Method method = commandclass.getMethod(methodName, paramTypes);
method.invoke(method, params);
} catch (NoSuchMethodException | SecurityException
| ClassNotFoundException | IllegalAccessException
| IllegalArgumentException | InvocationTargetException e) {
e.printStackTrace();
}
}
兩個數組不能有任何null
值,否則會拋出一個NullPointerException
。
編輯: 代碼
ArrayList<Object> params = new ArrayList<Object>();
int i = 1;
while(true){
String str = input.substring(input.indexOf(" ", i), input.indexOf(" ", i + 1));
if(str.equalsIgnoreCase(" ")){
break;
}
params.add(i, str);
i++;
}
ArrayList<Class<?>> classes = new ArrayList<Class<?>>();
for(int j = 0; j > params.toArray().length; i++){
params.toArray()[j].getClass();
}
代碼後來:
invokeMethod("com.cjcl.commands.NewCommand", "command", (Class<?>[]) classes.toArray(), params.toArray());
您是否有任何示例代碼您已經嘗試完成此操作以獲取疑難解答? –
我已經嘗試過for循環和'ArrayLists',但我不能讓數組沒有空值。 – Curlip
那是什麼時候我嘗試ArrayLists – Curlip