Is there any difference between “Object[] x” and “Object x[]”?

怎甘沉沦 提交于 2019-11-27 15:34:36

Both are legal and both work. But placing [] before the array's name is recommended.

From Javadocs:

You can also place the square brackets after the array's name:

float anArrayOfFloats[]; // this form is discouraged

However, convention discourages this form; the brackets identify the array type and should appear with the type designation.

No, they both work. But watch out:

float anArrayOfFloats[], aSecondVariable;

will declare one array of floats and one float, while:

float[] anArrayOfFloats, aSecondVariable;

will declare two arrays of floats.

There is no difference. Both are legal.

You can read in Java Language Specification http://java.sun.com/docs/books/jls/second_edition/html/arrays.doc.html

The [] may appear as part of the type at the beginning of the declaration, or as part of the declarator for a particular variable, or both, as in this example:

byte[] rowvector, colvector, matrix[];

Another good reason to write Integer[] ints instead of Integer ints[] is because of inheritance relations: Integer[] is subtype of Number[] is subtype of Object[].

In other words, you can put Integers in an Object array, so you can think of the [] as part of the object's type definition -- which is why it makes sense to have it close to the type instead of the object name.

Short answer: No.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!