在Java中,是否可以在同一行中初始化和/或声明多个数组?
例如:
例如:
int a, b, c, d, e = 4
可行但存在问题
int[] a, b, c, d, e, = new int[4]
似乎无法正常工作(数组大小为4)
请记住:
int a, b, c, d, e = 4;
声明了5个整数但只初始化了'e'。
同样地,
int[] a, b, c, d, e = new int[4];
只会初始化 e。int[] a=new int[4], b=new int[4], etc...
说实话,这并不值得用一行代码来表述...
请尝试
int[] a = new int[4], b = new int[4], c = new int[4], d = new int[4], e = new int[4];
如果您想创建五个不同的数组,就必须为每个变量实例化一个数组。
如果您想创建一个数组并从五个变量引用它,则 Goran 有解决方案。
new
关键字
请尝试这样做:int[] a, b, c, d, e = new int[4];
你尝试的方法只适用于值类型。在Java中,数组是引用类型,也就是对象。
正如Gwyn所解释的那样,你尝试的方法是不可能实现的。
然而,你可以考虑以下方法:
int[][] arrays = new int[4][5];
然后使用:arrays[0]
,arrays[1]
.. 代替 a
,b
。
int[] a, b, c, d, e ; a = (b = (c = (d = (e = new int[4]))));
赋值运算符的返回值是被赋值的值。然而,正如Jon已经说过的那样,它们仍然会引用同一个数组..现在变成了两行..而且很丑陋.. - Goran Jovic