2010-11-18 30 views

Répondre

35

Java Varargs.

Comme ça ...

public void func(String ... strings) { 
    for (String s : strings) 
     System.out.println(s); 
} 

Notez que si vous vouliez exiger que certains nombre minimal d'arguments doit être passé à une fonction, tout en permettant des arguments variables, vous devez faire quelque chose comme ça . Par exemple, si vous aviez une fonction qui avait besoin d'au moins une chaîne, puis une liste d'arguments de longueur variable:

public void func2(String s1, String ... strings) { 

} 
+0

génial! merci pour l'explication détaillée :) – ufk

+0

si je ne connais pas le type de l'argument? puis-je utiliser juste Object? – ufk

+1

Oui, vous pouvez ... – aioobe

6

Comme d'autres ont signalé que vous pouvez utiliser VarArgs:

void myMethod(Object... args) 

C'est en fait équivalent à:

void myMethod(Object[] args) 

En fait, le compilateur convertit la première forme en seconde - il n'y a pas de différence de code d'octet. Tous les arguments doivent être du même type, donc si vous voulez utiliser des arguments avec des types différents, vous devez utiliser un type d'objet et faire le casting nécessaire.