这是一种实验性的Lombok语法,其创建目的是在引用多个注释时支持间接层,而不是使用
Class<?>[]。
语法有点奇怪;要使用这3种
onX功能中的任何一种,您必须在中包装要应用于构造函数/方法/参数的注释@__(@AnnotationGoesHere)。要应用多个注释,请使用@__({@Annotation1,@Annotation2})。注释本身显然也可以具有参数。
https://projectlombok.org/features/experimental/onX.html
龙目岛开发商Roel Spilker的解释:
其原因是javac在解析阶段已经解析了注释,如果它可以确定注释无效,则给出错误。通过使用不存在的注释,
@__它不能确定它是伪造的(它可能是由注释处理器创建的),并且不会立即给出错误。这使Lombok有时间完成其工作并将其@__从代码中删除。



