我想创建一个注释,它将成为目标TYPE并声明一个自定义类的对象。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface Test {
}
class Student{
}
Perform
@Test
class example{
//Want this annotation to declare something like this
Student s = new Student();
}
注解处理器规范AFAIK通常不支持此功能。带注释的类不得操纵其自己的AST。
[Lombok(提供了提到的@ Slf4j注释)似乎找到了一些不受支持的钩子,实际上使它成为了hack。
如果您仍然想做类似的事情,我建议您看一下Lombok源代码。