# Gibts in Java ne Funktion, die ein ganzes Array ausgibt



## 777 (7. Apr 2006)

Hey Leute,
Ich habe ein array namens David[200];

Ich würde gerne alle 200 Elemente ausgeben... Schleife?
Ginge zwar- wäre aber dämlich.
In PHP gibts ne Funktion wie man nen ganzes Array ausgeben kann... in Java auch??
cya
David


----------



## byte (7. Apr 2006)

Was ist denn an ner Schleife dämlich?


----------



## Leroy42 (7. Apr 2006)

Seit Java 1.5 gibt es eine Methode in der Klasse Arrays, die intern natürlich
auch mit einer Schleife arbeitet.

Ich weiß allerdings nicht auswendig, wie die heißt


----------



## byte (7. Apr 2006)

```
Arrays.toString(array);
```


----------



## 777 (7. Apr 2006)

Habs mit schleife gemacht.... dachte nur es geht aus Prinzip irgendwie leichter ...


----------



## Leroy42 (7. Apr 2006)

@byto
Ich habe grad keine Java 1.5.

Was passiert denn mit verschachtelten Arrays? Werden die auch korrekt verschachtelt ausgegeben?


----------



## Sky (7. Apr 2006)

777 hat gesagt.:
			
		

> Habs mit schleife gemacht.... dachte nur es geht aus Prinzip irgendwie leichter ...


Sorry für die Dumme Frage: Was ist an einer Schleife schwer ?


----------



## bygones (7. Apr 2006)

verschachtelte kann toString nicht auflösen - toString macht nix anderes als durch das array zu laufen und die elemente in einen StringBuilder zu packen....

schleife ist nicht viel mehr... 

```
for(String s : array) {
 System.out.println(s);
}
```

achja - glaub das gibts schon vor 1.5

```
System.out.println(Arrays.asList(array));
```


----------



## Leroy42 (7. Apr 2006)

deathbyaclown hat gesagt.:
			
		

> und die elemente in einen StringBuilder zu packen....


Und wie _packt er sie da rein_? Wahrscheinlich doch (falls keine atomaren Typen) durch
Aufruf von toString()? Was hindert die Methode daran, einmal zu testen ob es sich bei dem
aktuellen Element um ein Array handelt; wenn ja, dann wird eben Array.toString() nochmal
aufgerufen.

BTW: Hätte man nicht einfach dem Klassentyp eines Arrays eine neue
toString()-Methode verpassen können? :shock:


----------



## bygones (7. Apr 2006)

er packt sie rein durch den Aufruf String.valueOf, was nichts anderes macht als eine object.toString().


----------



## lin (7. Apr 2006)

> ```
> for(String s : array) {
> System.out.println(s);
> }
> ```


setzt allerdings java v >= 1.5 voraus

ed. ansonsten

```
for(int i = 0; i<array.length; i++) {
			System.out.println(array[i]);
		}
```


----------



## clemson (7. Apr 2006)

seit 1.5 gibts dafür die Arrays#deepToString(Object[]).



			
				1.5 API hat gesagt.:
			
		

> Returns a string representation of the "deep contents" of the specified array. If the array contains other arrays as elements, the string representation contains their contents and so on. This method is designed for converting multidimensional arrays to strings.


----------

