Различать строковые args[] и String[] args

Я видел два разных способа объявления массива строки, но я не понимаю разницы. Может ли кто-нибудь объяснить, в чем разница между

String args[]

и

String[] args 

5 ответов


нет никакой разницы (в Java). Это одно и то же. От JLS §10.2:

[] может отображаться как часть типа в начале объявления, или как часть Декларатора для определенной переменной, или и то, и другое.


они не разница но я предпочитаю скобки после типа - легче увидеть, что тип переменной-array, а также он более читаем.

но всегда это зависит от разработчика, какой подход он подберет, и ему удобнее использовать. См. ответ @T. J. Crowder, который ссылается на официальные документы.


единственная разница заключается в том, что вы объявляете переменную и добавляете больше полей.

String args[], array[];  // array is String[]

String[] args, array[];  // array is String[][]

однако, если вы ссылаетесь на свой основной метод, я предпочитаю использовать

public static void main(String... args) {

или если args игнорируются

public static void main(String... ignored) {

на String... это почти то же самое, что String[] разве это можно назвать с varargs вместо массива. например,

MyClass.main("Hello", "World");

кстати, хороший пример того, почему мне не нравится [] после переменной, как тип String[] не String .... ??

это на самом деле компилирует

public int method(String args[])[] {

что же

public int[] method(String[] args) {

но я думаю, что позже лучше.


нет никакой разницы в String args[] и String[] args.Оба пути одинаковы.


между ними нет никакой разницы. Они оба являются объявлением массива. Для компилятора Java они одинаковы. Просто объявите переменную массива