Daniel Sopel
Daniel Sopel

Reputation: 3733

Declare Multiple Java Arrays on Same Line?

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)

Upvotes: 8

Views: 20718

Answers (4)

redcayuga
redcayuga

Reputation: 1251

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.

Upvotes: 5

Goran Jovic
Goran Jovic

Reputation: 9508

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.

Upvotes: 2

Gwyn Evans
Gwyn Evans

Reputation: 1521

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...

Upvotes: 26

Amir Raminfar
Amir Raminfar

Reputation: 34149

You are missing the new keyword Try this:

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

Upvotes: 4

Related Questions