我正在开展一个要求用户输入方法签名的项目。我的代码采用了该签名并对其执行了一些操作。
但是为了能够对它做一些事情,我需要将方法签名分解为碎片,并将这些碎片存储在相关变量中,如modifiers,methodReturnType,methodName,paramModifiers,paramType,paramName,exception。
为实现这一目标,我手动将逻辑放在我的代码中。另外,我使用HashMap作为修饰符,使用TreeSet作为异常。现在,方法签名可以有很多种方式。所以我的疑问/怀疑是:
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以使用此代码实现此目的,它将循环遍历classe的所有方法并尝试打印它们,打印它们的修饰符:
Class<?> c = Class.forName(SomeClass.class);
Method[] allMethods = c.getDeclaredMethods();
for (Method m : allMethods) {
out.format("%s%n", m.toGenericString());
out.format(" Modifiers: %s%n",Modifier.toString(m.getModifiers()));
}
看看这里,还有其他一些例子http://docs.oracle.com/javase/tutorial/reflect/member/method.html