【发布时间】:2016-09-23 18:32:34
【问题描述】:
我知道@EqualsAndHashCode 优先于@Data,但是其他注解呢?有什么简单的规则可以用来判断吗?
【问题讨论】:
标签: java annotations lombok
我知道@EqualsAndHashCode 优先于@Data,但是其他注解呢?有什么简单的规则可以用来判断吗?
【问题讨论】:
标签: java annotations lombok
我只知道一条规则:更具体的注释优先。由于@Data 不允许配置有关@EqualsAndHashCode 计算细节的任何内容,后者显然更具体。 @Data vs. @Getter 和其他类似。
另一种情况是类级别与字段级别的注释,前者可以被后者覆盖。
请注意,反过来做完全没有意义。
有一些边界情况,例如@Builder 与@Data,其中不清楚应该生成什么构造函数(IIRC 它们分别需要AllArgsConstructor 和NoArgsContructor)。明确指定构造函数会有所帮助。
【讨论】: