Wie kann man in Java String Arrays als Aufzählung in der Konsole ausgeben?

2 Antworten

String[] array = new String[] { "aaa", "bbb", "ccc", "ddd", "eee" };
System.out.println(Arrays.toString(array));

Würde das ausgeben: [aaa, bbb, ccc, ddd, eee]

Da kann man auch noch ein wenig rumbasteln und die Klammern wegnehmen:

String[] array = new String[] { "aaa", "bbb", "ccc", "ddd", "eee" };
System.out.println(Arrays.toString(array).replaceAll("[\\[\\]]", ""));

Hier ist aber der Nachteil, dass eckige Klammern in einem String auch entfernt werden. Da kann man auch substring etc einsetzen, ist aber wirklich ein Herumgebastel.

Ansonsten gibt es natürlich andere Schreibweisen, im Kern ists aber dasselbe Prinzip.

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung
SussyMathe  20.12.2021, 19:24

wäre das nicht unnötige schreibarbeit? java.util.Arrays müsste auch importiert werden

0
Lezurex  20.12.2021, 19:29
@SussyMathe

Ja ists schon ein wenig. Allerdings war ja die Frage nach anderen Möglichkeiten xD

1
musicquestio 
Fragesteller
 20.12.2021, 19:31
@Lezurex

das problem ist, für den test compiler ist nacheinander mit for system.out.print aufrufen anscheinend zu langsam, sodass er meint dass überhaupt keine ausgabe erfolgt ist

0
musicquestio 
Fragesteller
 20.12.2021, 19:29

ginge das auch ohne leerzeichen?

0
Lezurex  20.12.2021, 20:17
@musicquestio
System.out.println(Arrays.toString(array).replaceAll("[\\[ \\]]", ""));

Einfach beim Regex ein Leerzeichen einfügen, dann werden auch diese entfernt (wobei diese Lösung auch die letztendlichen Strings beeinflusst, was nicht gerade optimal ist)

0
musicquestio 
Fragesteller
 21.12.2021, 11:30
@Lezurex

Ginge das theoretisch auch als string builder? Bzw wie kommt man auf "[\\[ \\]]

0
Lezurex  21.12.2021, 11:37
@musicquestio

Mit dem String Builder wäre es in etwa gleich wie deine bisherige Lösung.

Bzw wie kommt man auf "[\\[ \\]]

Das ist eine Regular Expression. Damit lassen sich gewisse Muster in Strings "matchen". Wirst du später sicherlich auch mal gebrauchen.

0
musicquestio 
Fragesteller
 21.12.2021, 14:11
@Lezurex

Naja string builder macht die Lösung vorher und gibt es in einem einzigen System out print aus - vllt nimmt der compiler das an. Aber ich muss halt irgendwie das komma am Ende wegkriegen

0

for(String s : array) {

System.out.print(s + ", ");

}

so gehts schneller