Wie lässt sich ein String-Array in einen einfachen String wandeln?
Im Beispiel wird ein einfaches String-Array mit sieben
Einträgen und anschließend ein leeres StringBuilder
-Objekt
erzeugt.
Das Array wird in einer for-Schleife durchlaufen und
jeder Einzeleintrag dem Builder mit einem Betriebssystem-typischen
Zeilenumbruch hinzugefügt. Nach erfolgtem Durchlauf der
Schleife wird der StringBuilder zum String gewandelt und ausgegeben.
public static void main(String[] args) {
String[] strings = {"Ene", "mene", "Maus", "und", "du", "bist", "raus"};
StringBuilder builder = new StringBuilder();
for(String s : strings) {
builder.append(s + System.getProperty("line.separator"));
}
System.out.println(builder.toString());
}
}
Man mag sich fragen, weshalb die Verkettung der Einzelstrings nicht viel einfacher etwa in der folgenden Form erfolgt:
//... String str = ""; for(String s : strings) { str += s + System.getProperty("line.separator"); // falsch } System.out.println(str); //...
Die Ursache liegt in der Tatsache begründet, dass Strings in Java unveränderlich sind. Das bedeutet, dass im letzten Fall bei jeder Verkettung ein neues String-Objekt erzeugt wird. Dies mag bei kleinen Arrays verkraftbar sein, erzeugt aber in jedem Falle unnötigen Overhead und sollte zu Gunsten eines sauberen Programmierstils vermieden werden.
Für weitere Informationen siehe auch den Artikel zum funktional ähnlichen StringBuffer.
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.