Lombok 注释的优先级是什么?
What is the precedence of Lombok annotations?
我知道 @EqualsAndHashCode
优先于 @Data
,但其他注释呢?有什么简单的规则可以用来判断吗?
我只知道一个规则:更具体的注释优先。由于 @Data
不允许配置有关 @EqualsAndHashCode
计算细节的任何内容,后者显然更具体。 @Data
与 @Getter
和其他人的情况类似。
另一种情况是class级注释与字段级注释,前者可以被后者覆盖。
请注意,反过来做完全没有意义。
有一些边界情况,例如 @Builder
与 @Data
,其中不清楚应该生成什么构造函数(IIRC 他们分别需要 AllArgsConstructor
和 NoArgsContructor
) .明确指定构造函数有帮助。
我知道 @EqualsAndHashCode
优先于 @Data
,但其他注释呢?有什么简单的规则可以用来判断吗?
我只知道一个规则:更具体的注释优先。由于 @Data
不允许配置有关 @EqualsAndHashCode
计算细节的任何内容,后者显然更具体。 @Data
与 @Getter
和其他人的情况类似。
另一种情况是class级注释与字段级注释,前者可以被后者覆盖。
请注意,反过来做完全没有意义。
有一些边界情况,例如 @Builder
与 @Data
,其中不清楚应该生成什么构造函数(IIRC 他们分别需要 AllArgsConstructor
和 NoArgsContructor
) .明确指定构造函数有帮助。