大家好,有没有一种方法可以直接将注解作为参数传递(而不是通过反射来完成所有开销)?例如,在下面的代码中,我有一个保存int值的注解Number,我想将其作为参数传递给addImpl方法,除了通过反射方式外,我该如何实现?
代码片段:
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
public @interface Number {
int value();
}
public void add(int x2) {
addImpl(@Number(value = 10) lol, x2);
}
public void addImpl(Number a, int b) {
System.out.println(a.value() + b);
}
public static void main(String[] args) {
new TestClass().add(3);
}