Quelle est la Java de la méthode main() paramètres de la syntaxe?
Est-il une différence fonctionnelle entre ces méthodes?
public static void main(String[] args) { }
public static void main(String args[]) { }
MODIFIER (ajout de cette syntaxe, d'autres contributeurs) :
public static void main(String... args) { }
- Cela ne s'applique pas seulement à la méthode main, mais pour toutes les autres définitions de tableau, trop.
- Vous avez oublié
public static void main(String... args)
Vous devez vous connecter pour publier un commentaire.
Non, mais la première est la préférence de style.
Edit:
Une autre option est
qui, de plus, permet aux appelants d'utiliser des varargs syntaxe.
main(String... args)
est juste monstrueux, bien qu'au moins la syntaxe est valide des cas d'utilisation.)Autre Tableau de notations
La notation
est juste une commodité pour les programmeurs C, mais il est identique à celle de la notation:
Voici ce que le Sun Java Tutoriel dit:
Référence: Java Tutoriel > les Tableaux
VarArgs
BTW, moins connue est que les principaux ailleurs, les méthodes de soutien varargs, donc c'est aussi bien:
La raison en est que varargs méthode interne identique à une méthode qui prend en charge un seul paramètre de type tableau du type spécifié.E.g. ce ne compile pas:
Référence: Java Tutoriel > Nombre Arbitraire d'Arguments
Il n'y a pas de différence, mais le premier est selon la norme.
Les autres réponses sont correctes, en ce qu'elle ne fera pas de différence. Permettez-moi simplement d'ajouter deux points:
String ... args
est aussi valable aujourd'hui et dans ce cas encore fait aucune différence.Les différentes options pour placer vos supports ont une conséquence, lorsque vous définissez plusieurs variables. Dans l'exemple suivant, la variable
a
n'est pas un tableau de chaînes, maisb
est un etc
est un tableau de tableaux de Chaînes de caractères.String a, b[], c[][];
Cependant, je suggère de ne pas utiliser ce style pour votre code, car ça peut vite devenir très déroutant. Par exemple,
String [] b, c[];
signifie la même chose pourb
etc
comme ci-dessus, mais surtout pourc
ce n'est pas évidente.Non, ils n'ont pas de différence. Quoique... j'ai utilisé la deuxième méthode, jusqu'à ce que ma copine a menacé de rompre si j'ai continué de le faire (pas une blague). Alors maintenant, je préfère la première méthode, et je pense que c'est beaucoup mieux.
Non, le ci-dessus sont équivalentes. Les tableaux en Java peuvent être déclaré dans l'une des deux façons, soit:
ou
Utiliser String[] au lieu de [] sont postfix de référence. Enfait String[] obj; hilights le fait que obj est une référence de type String[] (tableau de String).
Je préfère aussi pour marquer le
args
commefinal
.Il n'y a pas une différence entre les 2 choix que vous pouvez faire soit l'un d'entre eux.
Vous pouvez également mettre ce: