Mehrere toString-Methoden?
Hatte ich ein problem bei der Erzeugung einer Komma-getrennten string aus einer Liste von Objekten.
Das problem ist, erklärt in diesem link Konvertieren string in Liste von Objekten zu durch Komma getrennt
Hatte ich dies Problem gelöst, indem Sie mithilfe der toString-Methode. Bisher war ich mit der toString () - Methode als string-generator für debugging-Zwecke. Wie verwende ich es für die generation von comma seperated value konnte ich nicht Debuggen wie vorher.
Es ist trotzdem erreichen beide?
- zwei Methoden verwenden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soll es ein eigenes Objekt, um die Formatierung verarbeiten. Das ist, warum Sie finden Sie unter formatieren von Objekten für Datumsangaben und zahlen in java.text, denn es gibt so viele unterschiedliche Formate, die Sie benötigen, gewidmet Formatierer getrennt von den Daten-Objekten.
Blick in was
toString
ist für die Beschreibung in der javadoc istDen Odersky/Löffel/Venners Buch Programmierung in Scala sagt:
Auch Effektive Java - (Item 10: haben Immer Vorrang
toString
) anzunehmen scheint, dass der Zweck der toString-Methode ist die Bereitstellung von Diagnose-Informationen für Entwickler beim debugging oder logging.Ich würde halten Sie die Implementierung der toString-Methode, die Sie für das debugging und erstellen Sie eine separate CSV-Formatierung-Objekt Umgang mit der csv-generation. So toString Zweck weiterhin zum Debuggen, Trennung aufrechterhalten wird, zwischen dem Objekt der job als dataholder-und CSV-Generierung.
Andere als Zugabe verarbeitet Zeichenfolgen (z.B.
col5.getId()
unduser.getAddress().getAddress1()
), um die Liste das ist wahrscheinlich die beste und einfachste Antwort, man könnte auch schreiben Sie ein wrapper, der überschreibttoString
:Fügen Sie dann die wrapper-Objekt, als "Spalte", und die Daten zeigen entsprechend ein.
Mit einigen Guave Magie und lombok (für
@Data
):Beachten Sie, dass die
Function
nicht haben, um eine anonyme Klasse undEmployee
hat eine generierte üblichentoString()
(aus lombok).Ref: Guave, lombok