Java 如何传递类名称和方法,在该类名称和方法上,注释被调用为";“价值”;添加到注释属性
我不想硬编码“name”属性,而是需要像这样传递它。getClass().getName().name\u调用的方法的名称首先,创建一个自定义注释Java 如何传递类名称和方法,在该类名称和方法上,注释被调用为";“价值”;添加到注释属性,java,annotations,Java,Annotations,我不想硬编码“name”属性,而是需要像这样传递它。getClass().getName().name\u调用的方法的名称首先,创建一个自定义注释 public class Demo { public Demo(){} @Annotaion(name = "DemoClass::method1") public void method1(params...) { } } 然后使用它 @Retention(RetentionPolicy
public class Demo {
public Demo(){}
@Annotaion(name = "DemoClass::method1")
public void method1(params...)
{
}
}
然后使用它
@Retention(RetentionPolicy.RUNTIME)
@interface Annotation {
public int value1();
public int value2();
}
public class TestClass {
@Annotation(value1 = 15, value2 = 30)
public static void test(){
Class cl = TestClass.class;
Method[] allMethods = cl.getMethods();
Method thisMethod = null;
for (Method m : allMethods)
if (m.getName().equals("test")) thisMethod = m;
Annotation a = thisMethod.getAnnotation(Annotation.class);
a.value1(); //returns 15
a.value2(); //returns 30
}
}