Method.invoke(obj, args) 將陣列展開為可變參數。呼叫 main(String[]) 時需將陣列包裝為 Object:
Method m = clazz.getMethod("main", String[].class);
// 正確
m.invoke(null, (Object) new String[]{"a", "b"});
// 或
m.invoke(null, new Object[]{new String[]{"a", "b"}});
// 錯誤:會嘗試匹配 main(String, String)
m.invoke(null, new String[]{"a", "b"});
規則:若參數類型為陣列,invoke 的對應實參必須是單一 Object 陣列元素,否則會被展開。