Declare Multiple Java Arrays on Same Line?

2020-01-29 16:17发布

问题:

Is it possible to initialize and/or declare multiple arrays in the same line in Java?

ie.

int a, b, c, d, e = 4

works but

int[] a, b, c, d, e, = new int[4] 

doesn't seem to work (size of array is 4)

回答1:

Bear in mind that

int a, b, c, d, e = 4;

is declaring 5 ints but only initialising 'e'.

In the same way,

int[] a, b, c, d, e = new int[4];

will only initialise e.

You'd need something like

int[] a=new int[4], b=new int[4], etc...

which frankly, isn't worth one-lining...



回答2:

You are missing the new keyword Try this:

int[] a, b, c, d, e = new int[4];


回答3:

try

int[] a = new int[4], b = new int[4], c = new int[4], d = new int[4], e = new int[4];

You have to instantiate an array for each variable if you want to create five different arrays.

If you want to create one array and reference it from five variables Goran has the solution.



回答4:

What you tried is possible only for value types. In Java arrays are reference types i.e. objects.

What you tried is not possible (as Gwyn explained).

On the other hand you could:

int[][] arrays = new int[4][5];

And then use: arrays[0], arrays[1].. instead od a,b.



标签: java arrays