我对下面2行有点困惑。对象声明数组
MyClass myobj[];
myobj = new MyClass[numberVariable];
我希望在第1行是这样的:
MyClass[] myobj;
但是代码的作品并没有错误。
是什么解释?
我对下面2行有点困惑。对象声明数组
MyClass myobj[];
myobj = new MyClass[numberVariable];
我希望在第1行是这样的:
MyClass[] myobj;
但是代码的作品并没有错误。
是什么解释?
作为JLS状态
的[]可能显示为在声明的开头所述类型的部分,或作为说明符用于特定变量,或两者的一部分。
因此,即使这是可能的
float[][] f[][], g[][][], h[];
这相当于
float[][][][] f;
float[][][][][] g;
float[][][] h;
,这是更具可读性,不是吗?
它变得更糟。 'public static int [] foo()[] {return new int [10] [10];}'也是有效的... – 2014-10-04 15:49:42
两者在Java中都是有效的语法,但MyClass[] myobj
对我更有意义,因为您声明的是MyClass
类型的数组。
做同样的事情的不同方式。 – Tirath 2014-10-04 15:33:28