initialize an array of booleans


B

bob smith

Is there any easy way to initialize an array of booleans like this?

boolean b[] = new boolean(false)[100];
 
Ad

Advertisements

L

Lew

Is there any easy way to initialize an array of booleans like this?



boolean b[] = new boolean(false)[100];

boolean b[] = new boolean [100];

<http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.10.1>

If you want to initialize array elements to a value that is not the default you have to loop.

Or use the 'java.util.Arrays' class.
<http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#fill(boolean[], boolean)>

Every Java programmer should know the collections framework and key utility classes like 'Arrays'.
 
E

Eric Sosman

Is there any easy way to initialize an array of booleans like this?

boolean b[] = new boolean(false)[100];

Sure: `boolean b[] = new boolean[100];' will do it, although
`boolean[] b = new boolean[100];' is usually considered better style.

... but that's just because a freshly-created boolean is `false'
until and unless it's given another value, just as a freshly-created
int is zero. To initialize with a lot of `true's you could write

boolean[] b = new boolean[]{true,true,true, /*etc.*/};

.... but that would be tedious, error-prone, and inefficient (you'd
be dismayed at the number of byte code instructions generated). It'd
be better to use a loop, either in open code:

boolean[] b = new boolean[100];
for (int i = 0; i < b.length; ++i)
b = true;

.... or with the prepackaged array-filling method:

boolean[] b = new boolean[100];
java.util.Arrays.fill(b, true);
 
Ad

Advertisements

R

Roedy Green

Is there any easy way to initialize an array of booleans like this?

boolean b[] = new boolean(false)[100];

for basic info on arrays including initialisation, see
http://mindprod.com/jgloss/array.html

For this kind of info, a basic text book, even an out-of-date free one
is invaluable.
--
Roedy Green Canadian Mind Products
http://mindprod.com
The greatest shortcoming of the human race is our inability to understand the exponential function.
~ Dr. Albert A. Bartlett (born: 1923-03-21 age: 89)
 

Top