# public static void main(String... args)<- Was bedeutet das?



## Markus_guest (9. Mai 2006)

Hallo,

ich habe in letzter Zeit einige Main Methoden gesehen, die wie folgt aussahen:

```
public static void main(String... args)
```
Die drei Punkte hinter dem String sind mir dabei vollkommen fremd, weiß jemand von euch, was diese zu bedeuten haben?

PS: Sorry, wenn diese Frage schon einmal gestellt wurde, aber nach drei Punkten sucht es sich schlecht via Suchengines


----------



## norman (9. Mai 2006)

das sind varargs (neu seit java 5)
... heißt, es können beliebig viele (mind. 1) Objekte (in dem Falle Strings) übergeben werden


----------



## Markus_guest (9. Mai 2006)

Ok, vielen dank!


----------



## Illuvatar (9. Mai 2006)

String... ist eigentlich das gleiche wie String[]. Nur kann man beim Methodenaufruf dann statt

```
void name (String[] args){bla}
bla
name (new String[]{
"a", "b", "c"
});
```
das da;

```
void name (String... args){bla}
bla
name ("a", "b", "c");
```
schreiben


----------



## Leroy42 (9. Mai 2006)

norman hat gesagt.:
			
		

> ... heißt, es können beliebig viele (mind. 1) Objekte...



Wieso die Einschränkung  :shock: 
Man kann selbstverständlich auch gar kein Argument übergeben.

Wir sind hier schließlich bei Java und nicht bei C mit seinen varargs-Konzept   

[duke]Java wird Weltmeister 2006![/duke]


----------



## norman (9. Mai 2006)

Leroy42 hat gesagt.:
			
		

> norman hat gesagt.:
> 
> 
> 
> ...


hm..stimmt. man kann ja auch ein leeres String[] übergeben.  :autsch:


----------

