Y a-t-il une différence entre:
public void main(String args[]) { ... }
et
public void main(String[] args) { ... }
Je ne crois pas, mais je me demande.
Sémantiquement, ils sont identiques. Cependant, je recommanderais d'utiliser la dernière syntaxe (String[] args
) lors de la déclaration de tableaux. La première syntaxe est là principalement pour la compatibilité avec la syntaxe C.
Puisque String[]
, dans son ensemble, est le type de l'objet en Java, il est plus cohérent et clair de ne pas le séparer.
Une similaire question adresse la liste d'arguments de méthode []
après.
Il n'y a pas de différence, mais mettre les crochets après le type (String[]
) est la pratique la plus courante en Java.
Les deux sont absolument les mêmes. Veuillez vous reporter à la spécification du langage Java (JLS) pour connaître la syntaxe utilisée en Java.
String [] args ou String args [] créera un tableau (réservera une place en mémoire) sans argument de taille ni de nom.
Let us Consider:
String [] x;
putting the [] after the name. Why? because it avoids subtle problems like this:-
String x [] , y; //x[] is an array but y is a String
String [] x y ; //two arrays x[] and y[] both
Non
Ils ne sont que deux styles d'écriture
La signature de la méthode est la même, il n'y a donc pas de différence.
C'est une méthode publique, elle ne renvoie rien, le nom de la méthode est "main" et il faut un tableau String.
Bien que les deux soient utilisés pour créer un tableau de type String, le second est plus populaire, car vous pouvez créer simultanément plusieurs tableaux de chaînes ... E.g String[] a,b;
Vous avez créé simultanément deux tableaux de chaînes a et b.
Toutefois
String a[],b;
créera le tableau String "a" et la variable String (pas tableau) b .
J'espère que cela clarifie.
Nan. Il n'y a pas de différence entre les deux.
Voir la section Declaring a Variable to Refer to an Array
dans ce document . À partir de ce doc
float anArrayOfFloats []; // ce formulaire est découragé
alors utilisez simplement le second style.
il y a une différence: Par exemple si vous écrivez int [] arr; - ici arr est la référence au tableau entier alors que dans le cas de int arr []; - arr est un tableau de type int primitif
La différence entre ceux-ci est que lorsque nous essayons d'appeler manuellement la méthode main d'une classe à une autre en utilisant une syntaxe statique, nous utilisons "string [] s". À ce stade, nous devons passer un tableau de type chaîne en tant qu'argument dans la méthode main. Lorsque nous utilisons "String ... s", il n'est pas nécessaire de passer un tableau de chaînes en tant qu'argument. Cela fonctionnera et peu importe si vous transmettez le tableau sous forme d'argument ou non (si vous ne le transmettez pas explicitement, il est transmis par lui-même) ... donc prouvé ///// ////