Différence entre string[] args et string args[]
Résolu1 réponse
-
ModérateurIl n'y a pas de différence.
La notation "crochets sur le type" est la plus correcte, elle permet d'indiquer que le type de données est de type tableau.
String a = "A"; String[] b = {"b1","b2","b3"}; String[][] c = {{"c11","c12"},{"c21","c22"}};
La notation "crochets sur la variable" est autorisée pour permettre de faire des déclarations mixtes comme ceci :
String a = "A", b[] = {"b1","b2","b3"}, c[][] = {{"c11","c12"},{"c21","c22"}};
Mais dans les deux cas, les données seront les mêmes.
Pour le cas de l'argument de la méthode main, la notation absolument parfaite seraitString...args
qui est là encore un tableau, mais qui permet de passer un nombre variables d'arguments à la méthode (0, 1 ou plusieurs). Pour la méthode main cette notation est sémantiquement plus correcte que celles avec crochets.
public static void exemple(String...tab) { System.out.println(tab.length); } public static void main(String...args) { exemple(); // 0 exemple("a"); // 1 exemple("a","b"); // 2 String[] tab = {"a","b","c"}; exemple(tab); // 3 }