排除Lombok @Data自带的toString方法生成
Exclude toString method generation that comes with Lombok @Data
我有一个用 @Data
注释的 class。但我想排除 toString()
方法并提供自定义 toString.
我刚刚定义了一个自定义 toString()
方法,如果我不使用 lombok,我通常会这样做,而且它似乎有效。以下是我的例子。
@Data
class SomeDTO {
private String property1;
private String property2;
private String someReallyHugeString;
@Override
public String toString(){
return "someReallyHugeString size is: " + someReallyHugeString.length()
+ "property1 = " + property1
+ "property2 = " + property2;
}
}
但想知道这是否是从 @Data
中排除 toString()
的正确方法,是否有任何我遗漏的副作用。
只是不要使用 @Data
(但提供所有其他注释)具有:
@Getter
@Setter
@RequiredArgsConstructor
@EqualsAndHashCode
SomeDTO { ....
public String toString(){....}
}
这样如果你不小心去掉了toString
,就不会生成
是.
这是正确的方法。您可以提供 lombok
生成的任何方法。它将检查该方法是否已经存在并跳过生成。
The same rule applies to the constructor (any explicit constructor will prevent @Data from generating one), as well as toString, equals, and all getters and setters
我有一个用 @Data
注释的 class。但我想排除 toString()
方法并提供自定义 toString.
我刚刚定义了一个自定义 toString()
方法,如果我不使用 lombok,我通常会这样做,而且它似乎有效。以下是我的例子。
@Data
class SomeDTO {
private String property1;
private String property2;
private String someReallyHugeString;
@Override
public String toString(){
return "someReallyHugeString size is: " + someReallyHugeString.length()
+ "property1 = " + property1
+ "property2 = " + property2;
}
}
但想知道这是否是从 @Data
中排除 toString()
的正确方法,是否有任何我遗漏的副作用。
只是不要使用 @Data
(但提供所有其他注释)具有:
@Getter
@Setter
@RequiredArgsConstructor
@EqualsAndHashCode
SomeDTO { ....
public String toString(){....}
}
这样如果你不小心去掉了toString
,就不会生成
是.
这是正确的方法。您可以提供 lombok
生成的任何方法。它将检查该方法是否已经存在并跳过生成。
The same rule applies to the constructor (any explicit constructor will prevent @Data from generating one), as well as toString, equals, and all getters and setters