2013-12-20 2 views
6

Я видел два разных способа объявления массива String, но я не undreadand разница. Может кто-нибудь объяснить, в чем разница междуДифференциация между String args [] и String [] args

String args[]

и

String[] args 
+10

Нет разницы .. – Vallentin

+4

Первая поддерживается, пожалуйста, для бывших программистов на С. – jpvee

+0

О первой форме, [это] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html) говорит, что «конвенция запрещает эту форму» – harold

ответ

9

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

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

2

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

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

+1

Я предпочитаю следовать правилам кодирования Java, только потому, что они являются стандартными и экономят много дискуссий о различных альтернативах, таких как пробелы и вкладки и т. Д. –

1

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

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

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

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

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

или если арг игнорируется

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

String... является таким же, как и String[] кроме него можно вызвать с помощью varargs вместо массива. например

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

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

Это фактически составляет

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

, который так же, как

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

, но я думаю, что l лучше.

0

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

0

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

Смежные вопросы