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

Résolu
doussamaha Messages postés 3 Statut Membre -  
 doussamaha -
salut quel est la différence entre string[ ] args et string args[ ]
merci.

1 réponse

KX Messages postés 19031 Statut Modérateur 3 020
 
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
doussamaha
 
merci
0