数组decleration

时间:2017-07-21 10:02:21

标签: java arrays syntax

虽然在Java中创建数组的“普通”语法(比如本例中的MyClass类型的数组)是MyClass[] arr = new MyClass[3],但我注意到下一个语法也有效:

MyClass arr[] = new MyClass[3]

今天让我感到惊讶,因为凭直觉,程序会想要统一的语法。我的问题是这种语法有原因吗?

是因为来自其他语言的影响还是只是为了提供灵活性?或者,另一个选择是它实际上并不奇怪,对我来说只是很奇怪,但我会提到我没有在任何地方看到过这种类型的数组减速。

2 个答案:

答案 0 :(得分:2)

你几乎是对的(java与C / C ++不同)以下是"有效"告诉编译器你正在谈论一个数组的方法:

private void name() {
    Object[] arr1 = new Object[3];
    Object arr2[] = new Object[3];
    Object[] arr3 = new Object[] { "", "", "" };
    Object[] arr4 = { "", "", "" };

}

和我最喜欢的"一个(见方法标题):

private int foo()[]{
    //TODDY
    return new int[] { 1, 2, 3};
}

答案 1 :(得分:1)

  

来自其他语言的影响

就是这样:C(或C ++) - 在这两种语言中,数组都以你想知道的方式定义 - 顺便说一句,Java方式在这些语言中是无效的。