انسخ رمز الكود كما يلي:
/**
* الحصول على نوع معلمة طريقة الانعكاس بناءً على اسم الطريقة (لاحظ عند استخدام الطريقة المحملة بنفس الاسم دون النظر إليها)
* @param مثيل فئة obj
* @param اسم طريقة اسم الطريقة
* @يعود
* @throws ClassNotFoundException
*/
فئة ثابتة عامة [] getMethodParamTypes (Object classInstance،
اسم طريقة السلسلة) يطرح ClassNotFoundException{
Class[] paramTypes = null;
الطريقة[] الطرق = classInstance.getClass().getMethods();//جميع الطرق
for (int i = 0; i<methods.length; i++) {
if(methodName.equals(methods[i].getName())){// تطابق اسم الطريقة الواردة
Class[] params =methods[i].getParameterTypes();
paramTypes = فئة جديدة[params.length];
for (int j = 0; j < params.length; j++) {
paramTypes[j] = Class.forName(params[j].getName());
}
استراحة؛
}
}
إرجاع أنواع المعلمات؛
}
// احصل على اختبار الطريقة (يمكنك كتابة ما تريد لفئة الاختبار، ولن أدرجه هنا)
الطريقة m = Test.class.newInstance().getClass().getDeclaredMethod("اسم الطريقة", getMethodParamTypes(Test.class.newInstance(),"اسم الطريقة"));