toString()-Generator: Inhaltsauflistung

Das vorliegende Thema erläutert, wie der toString()-Generator den Inhalt von Arrays (Bereichen) auflistet und die Anzahl der in Collection und Map aufgelisteten Elemente begrenzt. Die jeweils verwendete Methode hängt nicht nur vom Membertyp ab, sondern auch von der ausgewählten JDK-Kompatibilität des Projekts.

Auflistung des Inhalts von Arrays

Auflistung des begrenzten Inhalts bei List

Für alle JDK-Versionen wird dieselbe Lösung verwendet, nämlich folgende: aList.subList(0, Math.min(aList.size(), maxLen))

Auflistung des begrenzten Inhalts bei Collection (Helpermethode)

Collection kann nicht in List umgewandelt werden, ohne dass der betreffende Inhalt kopiert wird (vorausgesetzt, dass es nicht bereits ein Element List ist). Daher wird eine Helpermethode verwendet, die über die ersten maxLen-Elemente iteriert und eine Zeichenfolge aus ihnen aufgebaut:

private String toString(Collection collection, int maxLen) {
	StringBuffer stringBuffer = new StringBuffer();
	stringBuffer.append("[");
	int i = 0;
	for (Iterator iterator = collection.iterator(); iterator.hasNext() && i < maxLen; i++) {
		if (i > 0)
			stringBuffer.append(", ");
		stringBuffer.append(iterator.next());
	}
	stringBuffer.append("]");
	return stringBuffer.toString();
}
HINWEISE:

Auflistung des begrenzten Inhalts bei Map

Bei Map wird dieselbe Helpermethode wie bei Collection verwendet, jedoch mit dem Unterschied, dass map.entrySet() übergeben wird.

Zusammenfassung

Diese Tabelle enthält eine Zusammenfassung der Methoden und ihrer Verwendung unter verschiedenen Bedingungen:

java.util.List java.util.Collection java.util.Map Array primitiven Typs Array nicht primitiven Typs
JDK 1.4 - - - Helpermethode arrayToString(array, len) Arrays.asList(array)
JDK 1.4/1.5, Begrenzung von Elementen member.subList() Helpermethode toSting(collection, maxLen) Helpermethode toString(collection, maxLen) mit map.entrySet() Helpermethode arrayToString(array, len, maxLen) Arrays.asList(array).subList()
JDK 1.5 - - - Arrays.toString() Arrays.asList(array)
JDK 1.6 - - - Arrays.toString() Arrays.toString()
JDK 1.6, Begrenzung von Elementen member.subList() HelpermethodetoString(Collection) Helpermethode toString(Collection) mit map.entrySet() Arrays.toString(Arrays.copyOf(member, ...)) Arrays.asList(array).subList()

Zusätzliche Hinweise

Zugehörige Referenzinformationen

Dialog 'toString() generieren'
toString()-Generator: Formatschablonen
toString()-Generator: Codedarstellungen