In meinem Projekt verwende ich Lombok, um das Schreiben von Gettern und Setter für eine Klasse zu vermeiden. Außerdem verwende ich lombok.Builder, um ein Objekt zu erstellen, anstatt neues Obeject () zu schreiben und dann alle Werte zu setzen.
Aber wenn wir eine Vererbungsbeziehung haben und wenn wir ein untergeordnetes Objekt mit dem Lombok Builder erstellen wollen, erhalte ich kein Elternfeld.
Zum Beispiel:
%Vor%Und Child-Klasse wäre etwa so:
%Vor%In meiner Testklasse, wo ich ein untergeordnetes Objekt erstellen muss
%Vor%Bitte lassen Sie mich wissen, gibt es eine Möglichkeit, dieses Szenario in Lombok zu behandeln.
@Builder
hat keine Möglichkeit festzustellen, welche Felder von Parent
angezeigt werden sollen.
Wenn @Builder
in einer Klasse platziert wird, werden nur die für diese Klasse explizit deklarierten Felder zu *Builder
hinzugefügt.
Wenn @Builder
auf einer statischen Methode oder einem Konstruktor platziert wird, wird das resultierende *Builder
eine Methode für jedes Argument haben.
Auch wenn Sie @Builder
verwenden, ist es dann sicher anzunehmen, dass mindestens Child
unveränderlich sein soll?
Ich gebe zwei Beispiele, eines davon ist Parent
änderbar und Child
ist unveränderlich und eins, wo sowohl Parent
als auch Child
unveränderlich sind.
Tags und Links java inheritance lombok