虽然在Java中创建数组的“普通”语法(比如本例中的MyClass类型的数组)是MyClass[] arr = new MyClass[3]
,但我注意到下一个语法也有效:
MyClass arr[] = new MyClass[3]
今天让我感到惊讶,因为凭直觉,程序会想要统一的语法。我的问题是这种语法有原因吗?
是因为来自其他语言的影响还是只是为了提供灵活性?或者,另一个选择是它实际上并不奇怪,对我来说只是很奇怪,但我会提到我没有在任何地方看到过这种类型的数组减速。
答案 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方式在这些语言中是无效的。