Est-il une différence entre les main(String args[]) et main(String[] args)?
Est-il une différence entre:
public void main(String args[]) { ... }
et
public void main(String[] args) { ... }
Je ne le crois pas, mais je me demande.
- Comme vous l'avez dit, style de codage. Je sais que beaucoup de gens préfèrent le second parce qu'il semble plus clair que
args
est un tableau deString
plutôt qu'un tableau deargs
Vous devez vous connecter pour publier un commentaire.
Sémantiquement, ils sont identiques. Cependant, je vous recommande d'utiliser la dernière syntaxe (
String[] args
) lors de la déclaration de tableaux. L'ancienne syntaxe est là principalement pour la compatibilité avec la syntaxe du C.Depuis
String[]
, dans son ensemble, est le type de l'objet en Java, c'est plus clair et uniforme de ne pas le séparer.Un question similaire adresses de la
[]
après la méthode de la liste d'arguments.Il n'y a pas de différence, mais de la mise entre parenthèses après le type (
String[]
) est le plus commun de la pratique en Java.Pas
Ils ne sont que deux style de l'écriture
Deux d'entre eux sont absolument les mêmes. Veuillez vous référer à la Java Language Specification (JLS) pour voir la syntaxe java.
String[] args ou String args[] crée un tableau (réserve une place en mémoire)avec n la taille et le nom args.
La signature de la méthode est la même, donc il n'y a pas de différence.
Son une méthode publique, elle ne retourne rien, le nom de la méthode est "principale" et la il faut un tableau de chaînes.
Bien que les deux sont utilisés pour créer la matrice de type String mais la deuxième est plus populaire, parce que, avec cela, vous pouvez créer plusieurs tableaux de Chaîne en même temps... E. g
String[] a,b;
Ici, vous avez créé Chaîne de deux Matrices a et b simultanément.
Cependant
String a[],b;
permettra de créer de tableau de Chaîne "a" et de la variable de Chaîne(pas de tableau) b.Espère que cela clarifie.
Nope. Il n'y a pas de différence b/w les deux.
Voir
Declaring a Variable to Refer to an Array
section dans ce doc. À partir de ce docjuste utiliser la deuxième de style.
La différence entre eux est que, lorsque nous essayons de faire appel de la méthode principale manuellement à partir d'une classe à une autre en utilisant une syntaxe statique , nous utilisons des "string[] s ". À ce point, nous avons passer un tableau de type chaîne de caractères comme argument dans la méthode principale. Lorsque nous sommes à l'aide de "Chaîne de... s" il n'est pas nécessaire de passer un tableau de chaîne comme argument. Il va s'exécuter et il n'a pas d'importance si vous passer le tableau en tant qu'argument ou pas (si vous n'avez pas explicitement le passer, il est passé par lui-même) ...
donc prouvé/////////
il y a une différence:
Par exemple
si vous écrivez int[] arr; - ici arr est la référence au tableau d'entiers
alors que dans le cas de l'int arr[]; - arr est une primitive de type int tableau