Tengo este codigo
public static Boolean freq[] = new Boolean[Global.iParameter[2]];
freq[Global.iParameter[2]] = false;
¿Podría alguien decirme qué estoy haciendo mal aquí exactamente y cómo lo corregiría? Solo necesito inicializar todos los elementos de la matriz a booleano falso. gracias
java
arrays
initialization
leba-lev
fuente
fuente
Boolean[] array
lo que le permite tener tres estados para cada elemento:true
,false
ynull
, lo que es útil para los casos en los que desee tener en cuenta que algo es "no procesado".La matriz se inicializará en falso cuando la asigne.
Todas las matrices en Java se inicializan con el valor predeterminado para el tipo. Esto significa que las matrices de ints se inicializan en 0, las matrices de valores booleanos se inicializan en falso y las matrices de tipos de referencia se inicializan en nulo.
fuente
Boolean
, noboolean
, por lo que lo hará de forma predeterminadanull
.Las matrices en Java comienzan a indexarse en 0. Entonces, en su ejemplo, se está refiriendo a un elemento que está fuera de la matriz en uno.
Probablemente debería ser algo como freq [Global.iParameter [2] -1] = false;
Necesitaría recorrer la matriz para inicializar todo, esta línea solo inicializa el último elemento.
En realidad, estoy bastante seguro de que false es el valor predeterminado para los valores booleanos en Java, por lo que es posible que no necesite inicializar en absoluto.
Atentamente
fuente
Boolean
, noboolean
, por lo que lo hará de forma predeterminadanull
.Se inicializarán en
false
forma predeterminada. En Java, las matrices se crean en el montón y cada elemento de la matriz recibe un valor predeterminado según su tipo. Paraboolean
el tipo de datos, el valor predeterminado esfalse
.fuente
Boolean
, noboolean
, por lo que lo hará de forma predeterminadanull
.frec booleana estática pública [] = nueva booleana [Global.iParameter [2]];
Global.iParameter [2]:
Debe ser un valor constante
fuente