Différence entre string[] args et string args[]

Résolu/Fermé
doussamaha Messages postés 2 Date d'inscription samedi 14 décembre 2013 Statut Membre Dernière intervention 6 janvier 2014 - 14 déc. 2013 à 16:38
 doussamaha - 14 déc. 2013 à 17:21
salut quel est la différence entre string[ ] args et string args[ ]
merci.

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
14 déc. 2013 à 17:05
Il 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 serait
String...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
}
1
merci
0