I have a class that is annotated with @Data
. But I want to exclude the toString()
method and provide a custom toString.
I just defined a custom toString()
method as I usually do if I was not using lombok and it seemed to work. Following is my example.
@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; } }
But wanted to know if this is the right way to exclude toString()
from @Data
and if there are any side effects I am missing.
Advertisement
Answer
Just don’t use @Data
(but provide all the other annotations) that is has:
@Getter @Setter @RequiredArgsConstructor @EqualsAndHashCode SomeDTO { .... public String toString(){....} }
This way if you remove toString
by accident, it will not be generated.