我最近注意到我可以通过在数组变量名后面的类型 OR 之后放置方括号来声明java中的数组。
float[] x
float x[]
除了语法之外,这两者之间是否存在差异?
顺便说一句,我偶然发现float[] x[]
实际上正在初始化二维数组 - 至少根据Eclipse而言。这是真的吗?
答案 0 :(得分:4)
没有区别。两者都在Java中有效。前者对于Java来说更为传统。是的,这是一个二维数组声明,虽然非常奇怪。请写下float[][] x
。
答案 1 :(得分:3)
如果变量的声明与你发布的一样,那么不,没有区别:
float[] x;
float x[];
如果在同一行中声明多个变量,您将发现差异:
float[] x, y;
float x[], y;
在最后一种情况:
x
和y
是float
s。x
是一个float
的数组,而y
是float
。推荐的代码编写方法:使用1来简化代码可读性。
答案 2 :(得分:2)
float val[] = new float[2];
与
完全相同
float[] val = new float[2];
。
[]可能在声明开头作为类型的一部分出现,或作为特定变量的声明者的一部分出现,或者两者兼有
类似
float[] val[] = new float[2][3]
对于 二维 数组来说是正确的(虽然不寻常)。
答案 3 :(得分:0)
float[] x
和float x[]
都会导致创建单维数组引用,float[] x
是首选表单。
float [] x []会创建一个二维数组引用。
答案 4 :(得分:0)
不,两种语法之间没有区别。您通常会在声明中看到变量上的括号,并在匿名使用该类型时使用该类型的括号。
你发现并不奇怪,因为'float []'是一个有效的类型规范,x []声明了那个类型的数组。