我知道@EqualsAndHashCode
优先于@Data
,但其他注释呢?是否有可用于确定它的简单规则?
答案 0 :(得分:1)
我只知道一条规则:更具体的注释优先。由于@Data
不允许配置有关@EqualsAndHashCode
计算细节的任何内容,后者显然更具体。同样适用于@Data
与@Getter
及其他人。
另一种情况是类级别与字段级别的注释,前者可以被后者覆盖。
请注意,反过来这样做根本就没有意义。
有一些边界情况,例如@Builder
与@Data
,其中不清楚应该生成什么构造函数(IIRC分别需要AllArgsConstructor
和NoArgsContructor
)。明确指定构造函数会有所帮助。