我想编写一个返回注释方法值的方法。
我试图使用这个变体,没有任何成功
参数:
clazz - 具有注释的 Сlass
注释克拉兹 - 我的注释.class
参数名称 - 方法的名称
这是我的代码:
public static Object getAnnotationValue(Class clazz, Class annotationClazz, String parametersName) {
Annotation an = clazz.getAnnotation(annotationClazz);
if (an.equals(null)) {
throw new CoreError("Класс " + clazz + " не содержит аннотацию " + annotationClazz);
}
PageName pn = (PageName) an;
try {
//its working!
System.out.println(pn.value());
//not working :(
System.out.println(an.getClass().getMethod(parametersName).getDefaultValue()); //not working :(
System.out.println(an.annotationType().getDeclaredMethod(parametersName, annotationClazz).getDefaultValue());
System.out.println(pn.getClass().getMethod(parametersName).getDefaultValue());
System.out.println(pn.annotationType().getDeclaredMethod(parametersName, annotationClazz).getDefaultValue());
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
这有可能吗?
偶然的你
相关分类