[Read Effective Java] Kapitel 3 Punkt 10 "Immer toString überschreiben"

Überschreiben Sie immer toString

Selbst wenn ich eine neue Klasse erstelle und toString versuche, erhalte ich eine Zeichenfolge wie "PhoneNumber @ 163b91", die ich nicht gerne erhalte. Der allgemeine Vertrag für toString ist "ein prägnanter, aber informativer Ausdruck, der für die Menschen leicht zu lesen ist".

Beispielcode

/**
 *Gibt eine Zeichenfolgendarstellung dieser Telefonnummer zurück
 *Die Zeichenfolge besteht aus 14 Zeichen und hat das Format"(XXX) YYY-ZZZZ"ist.
 *XXX ist die Vorwahl, JJJ-ZZZZ ist der Stadtcode.
 *(Jeder Großbuchstabe steht für eine einstellige Zahl.)
 * 
 *Jeder der drei Teile dieser Telefonnummer kann dieses Feld ausfüllen
 *Wenn nur wenige Ziffern vorhanden sind, wird das Feld mit Nullen aufgefüllt.
 *Zum Beispiel die letzten 4 Ziffern der Nummer"123"Wenn ja, der letzte Teil der Zeichenfolgendarstellung
 *4 Zeichen"0123"Es wird sein.
 * 
 *Beachten Sie, dass nach den Vorwahlklammern ein Leerzeichen steht, um es von der Stadtvorwahl zu trennen.
 */
@Override public String toString(){
    return String.format("(%03d) %03d-%04d", 
                         areaCode, prefix, lineNumber); 
}

Dies gibt "{Jenny = (707) 867-5309}" zurück! Durch genaues Überschreiben von toString sparen Sie Zeit beim Parsen des Programms einer anderen Person, die diese Klasse verwendet.

Fortsetzen

[Read Effective Java] Kapitel 3 Punkt 12 "Berücksichtigung der Implementierung von Comparable" https://qiita.com/Natsukii/items/1942f7f41ac39b914591

Recommended Posts

[Read Effective Java] Kapitel 3 Punkt 10 "Immer toString überschreiben"
[Read Effective Java] Kapitel 3 Punkt 9 "Wenn Sie equals überschreiben, überschreiben Sie immer hashCode"
[Read Effective Java] Kapitel 2 Punkt 7 "Vermeiden Sie Finalizer"
[Read Effective Java] Kapitel 3 Punkt 12 "Berücksichtigung der Implementierung von Comparable"
[Read Effective Java] Kapitel 2 Punkt 6 "Veraltete Objektreferenzen entfernen"
Effektives Java Kapitel 2
Effektives Java Kapitel 6 34-35
Effektives Java Kapitel 4 15-22
Effektives Java Kapitel 3
[Read Effective Java] Kapitel 2 Punkt 4 "Unmöglichkeit der Instanziierung mit privatem Konstruktor erzwingen"
[Read Effective Java] Kapitel 2 Punkt 5 "Vermeiden Sie die Erstellung unnötiger Objekte"
[Read Effective Java] Kapitel 2 Punkt 1 "Betrachten Sie statische Factory-Methoden anstelle von Konstruktoren"
[Read Effective Java] Kapitel 3 Punkt 8 "Wenn Sie gleich überschreiben, befolgen Sie den allgemeinen Vertrag"
[Read Effective Java] Kapitel 2 Punkt 3 "Singleton-Eigenschaften mit privatem Konstruktor oder Aufzählungstyp erzwingen"
Effektive Java 3rd Edition Kapitel 5 Generika
Effektive Java 3rd Edition Kapitel 8 Methoden
[Read Effective Java] Kapitel 2 Punkt 2 "Betrachten Sie einen Builder, wenn Sie mit einer großen Anzahl von Konstruktorparametern konfrontiert werden."
Java (überschreiben)
Effektives Java 3rd Edition Kapitel 9 Programm Allgemein
Effektive Java 3rd Edition Kapitel 6 Aufzählung und Anmerkungen
Effektive Java 3rd Edition Kapitel 4 Klassen und Schnittstellen
Effektive Java 3rd Edition Kapitel 7 Lambda und Stream
Effektive Java 3rd Edition Kapitel 2 Objekterstellung und Verschwindenlassen