【发布时间】:2023-04-06 15:24:02
【问题描述】:
我对下面的 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];} 也有效...
两者都是 Java 中的有效语法,尽管 MyClass[] myobj 对我来说更有意义,因为您声明了一个 MyClass 类型的数组。
【讨论】: