在jboss社区中阅读此answer有关向方法中的参数添加注释的信息。坚持获取参数或用Javassist术语表示属性。
给定XYZ类:
public class XYZ {
public void changes(String whatever, Integer flag) {
}
}
使用以下代码: ClassPool pool = ClassPool.getDefault(); CtClass clazz = pool.get(XYZ.class.getName());
CtMethod m = clazz.getDeclaredMethod("changes");
CtClass[] parameters = m.getParameterTypes(); // shows 2 parameter (one String, other Integer)
AttributeInfo paramAtrributeInfo = m.getMethodInfo().getAttribute("whatever");
paramAttributeInfo 为空。调试时我看到2个属性,但这些属性具有LocalVariableAttribute和LineNumberAttribute的具体调用。
无法获取将参数注释添加到的句柄(属性)。想法?