【问题标题】:Array of objects declaration [duplicate]对象声明数组[重复]
【发布时间】:2023-04-06 15:24:02
【问题描述】:

我对下面的 2 行有点困惑。

MyClass myobj[];
myobj = new MyClass[numberVariable];

我希望在第 1 行中是这样的:

MyClass[] myobj;

但是代码有效,没有错误。

解释是什么?

【问题讨论】:

  • 做同一件事的不同方式。

标签: java arrays class oop


【解决方案1】:

正如JLS 所述

[] 可以作为类型的一部分出现在声明的开头,或者作为特定变量的声明符的一部分,或者两者兼而有之。

所以即使这是可能的

float[][] f[][], g[][][], h[];

相当于

float[][][][] f;
float[][][][][] g;
float[][][] h;

而且这更具可读性,不是吗?

【讨论】:

  • 情况比这更糟。 public static int[]foo()[] { return new int[10][10];} 也有效...
【解决方案2】:

两者都是 Java 中的有效语法,尽管 MyClass[] myobj 对我来说更有意义,因为您声明了一个 MyClass 类型的数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多