我想编写代码,如下所示。
MyClass a = new @MyAnnotation MyClass()
假设 MyClass 方法如下所示
public class MyClass {
int a;
public void setValue(int a) {
this.a = a;
}
}
因此,当有人使用注释创建 MyClass 对象时,它应该将默认值设置为某个 x(比如 20)。
在检查器框架中,它允许我们在代码中进行如下注释。
MyClass a = new @MyAnnotation MyClass()
有谁知道我们如何在编译时将其分成两部分,如下所示?
MyClass a = new MyClass();
a.setValue(20);
或者如果我们能够像下面这样传递默认值也可以。
MyClass a = new @MyAnnotation(value=20) MyClass()
这可以使用注释处理器来实现吗/需要使用像 ASM 这样的字节码处理器来完成它吗?以更有意义的方式更新。