ToString wird nicht richtig erstellt, wenn Lomboks Daten und SuperBuilder verwendet werden [Duplikat]Java

Java-Forum
Anonymous
 ToString wird nicht richtig erstellt, wenn Lomboks Daten und SuperBuilder verwendet werden [Duplikat]

Post by Anonymous »

Wenn ich meine untergeordnete Klasse debugge, kann ich sehen, dass alle Werte richtig eingestellt sind. Der toString enthält jedoch nur Werte der untergeordneten Klasse, nicht der übergeordneten Klasse. Ich möchte, dass der toString auch die übergeordneten Felder enthält, jedoch auf derselben Ebene wie das untergeordnete Feld (z. B. nicht verschachtelt), ohne dass so viel manuelle Arbeit erforderlich ist. Wie kann ich das erreichen?
Das habe ich:

Code: Select all

@Data
@SuperBuilder(toBuilder = true)
@EqualsAndHashCode(callSuper = true)
public class Foo extends Bar{
private int field2;
}

@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder(toBuilder = true)
public class Bar {
private boolean field1;
}
Wenn ich es so baue

Code: Select all

var foo = Foo.builder().field1(true).field2(12).build();
im Debugger sehe ich das
Image

aber ich möchte, dass es so aussieht:

Code: Select all

Foo(field1=true, field2=12)
Ich habe auch versucht, @ToString(callSuper = true) zu meiner untergeordneten Klasse hinzuzufügen, in der die Felder angezeigt werden, etwa so
Image

aber ich verschachtele die übergeordneten Attribute nicht.< /p>
Gibt es einen anderen Weg? um das zu lösen, ohne dass ich den toString manuell vollständig schreiben muss?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post