ToStringBuilder druckt keine Inhalte verschachtelter Objekte

8

Ich benutze apache commons API (commmons-lang.jar), um ein Objekt wie unten gezeigt zu drucken:

%Vor%

Aber dieser Code druckt keinen Wert, wenn das Objekt eine Getter-Methode hat, die ein anderes Objekt zurückgibt.

Zum Beispiel habe ich Person object es hat eine Getter-Methode, die Address object zurückgibt. Mit dem obigen Code wird nur Address Objektname ausgegeben. Ich suche nach Address Objektwerten auch drucken. Wenn ich% code_% an obigen Code übergebe, drucke ich das, aber ich möchte alles sehen, wenn ich ein Personenobjekt passiere.

Irgendwelche Vorschläge?

    
goutham 09.03.2010, 22:18
quelle

3 Antworten

8

Weil es toString nicht rekursiv erzeugt. Suchen Sie entweder nach einem anderen Tool, oder implementieren Sie einfach (oder besser IDE-autogenerate) die Object#toString() für alle selbst.

Zum Beispiel:

%Vor%

und

%Vor%

auf diese Weise das

%Vor%

und

%Vor%

würde etwas wie

erzeugen %Vor%     
BalusC 09.03.2010 22:23
quelle
5

Sie können diese Methode verwenden, um jedes Objekt zu löschen

%Vor%

Wenn Objekte im Objekt sind, übergeben Sie obj1.obj2 als Argument.

    
neo 05.04.2014 07:53
quelle
3

Sie können auch eine Basisklasse für alle Ihre Klassen definieren, die die toString-Methode auf folgende Weise definieren:

%Vor%

Und dann mach einfach deine Klassen, um sie zu erweitern. Bei einem solchen Ansatz wird Ihr Domain-Objekt in der Lage sein, einen netten toString () zu erzeugen.

    
Jakub 09.03.2010 22:53
quelle

Tags und Links