4
A
回答
9
要獲得方法我一個C類調用C.class.getMethods()[i].toString()
的。
編輯:獲取參數名稱使用反射API是不可能的。
但是,當你用調試信息編譯你的類時,可以從字節碼中提取信息。 Spring使用ASM bytecode engineering library來做它。
有關更多信息,請參閱this answer。
2
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/reflect/Method.html#toString()
使用java.lang.reflect.Method
對象的toString()
方法您正在尋找的方法。
如果你想知道如何獲得該方法的對象只是用這個作爲參考:
Method toString = class.forName("java.lang.String").getDeclaredMethod("toString");
System.out.println(toString);
0
import java.lang.reflect.Method;
public class method1 {
private int f1(Object p, int x) throws NullPointerException
{
if (p == null)
throw new NullPointerException();
return x;
}
public static void main(String args[])
{
try {
Class cls = Class.forName("method1");
Method methlist[] = cls.getDeclaredMethods();
for (int i = 0; i < methlist.length; i++) {
Method m = methlist[i];
System.out.println("name = " + m.getName());
System.out.println("decl class = " + m.getDeclaringClass());
Class pvec[] = m.getParameterTypes();
for (int j = 0; j < pvec.length; j++)
System.out.println("param #" + j + " " + pvec[j]);
Class evec[] = m.getExceptionTypes();
for (int j = 0; j < evec.length; j++)
System.out.println("exC#" + j + " " + evec[j]);
System.out.println("return type = " + m.getReturnType());
System.out.println("-----");
}
}
catch (Throwable e) {
System.err.println(e);
}
}
}
+0
http://java.sun.com/developer/technicalArticles/ALT/Reflection/ – bmoran 2012-01-31 14:37:15
相關問題
- 1. 如何使用java反射獲取類型參數值?
- 2. 使用java反射獲取軟件包名稱
- 3. Java反射:如何獲取變量的名稱?
- 4. java反射 - 如何獲取特定屬性的名稱
- 5. 用反射API獲取令牌名稱
- 6. 如何使用反射按名稱獲取包常量值?
- 7. 如何使用反射獲取物業的名稱和價值?
- 8. 如何使用反射獲取變量名稱?
- 9. 如何使用反射來重構按名稱獲取方法?
- 10. Java通過反射獲取參數值
- 11. 在Golang中使用反射獲取函數的名稱
- 12. 反射 - 獲取屬性名稱
- 13. 反射:獲取靜態屬性名稱
- 14. Java反射:如何獲取不帶參數的方法
- 15. 如果使用反射參數名稱和字段名稱不同,如何檢索參數值?
- 16. 如何獲取使用反射的方法的參數
- 17. 如何使用反射獲取參數類型?
- 18. 如何用JAVA獲取水晶報表參數名稱
- 19. 使用Paranamer jar獲取參數名稱
- 20. 如何從argparse獲取參數名稱?
- 21. 使用反射獲取參數的參數
- 22. Java反射,獲取屬性名稱和類型
- 23. Java反射 - 通過類名稱字符串獲取級別
- 24. 如何使用反射獲得泛型類的名稱?
- 25. 獲取ID列名,使用反射
- 26. 的Java反射 - 越來越參數類型的名稱
- 27. 如何使用反射提取接口類型名稱和包?
- 28. 使用Java反射類獲取方法
- 29. 使用反射獲取struct field的名稱
- 30. c#使用反射從底層類型獲取方法名稱
或toGenericString(); – 2012-01-31 14:39:23