Eu tenho este código
public static Boolean freq[] = new Boolean[Global.iParameter[2]];
freq[Global.iParameter[2]] = false;
alguém poderia me dizer o que exatamente estou fazendo de errado aqui e como eu corrigiria? Eu só preciso inicializar todos os elementos do array como Boolean false. obrigado
java
arrays
initialization
Leba-lev
fonte
fonte
Boolean[] array
uma vez que lhe permite ter três estados para cada elemento:true
,false
enull
, o que é útil para casos em que você deseja observar que algo é "não processados".A matriz será inicializada como falsa quando você a alocar.
Todos os arrays em Java são inicializados com o valor padrão do tipo. Isso significa que arrays de ints são inicializados com 0, arrays de booleanos são inicializados com false e arrays de tipos de referência são inicializados com null.
fonte
Boolean
, nãoboolean
, então o padrão seránull
.Arrays em Java começam a indexação em 0. Portanto, em seu exemplo, você está se referindo a um elemento que está fora do array por um.
Provavelmente deve ser algo como freq [Global.iParameter [2] -1] = false;
Você precisaria fazer um loop pela matriz para inicializar tudo isso, esta linha inicializa apenas o último elemento.
Na verdade, tenho quase certeza de que false é o padrão para booleanos em Java, portanto, talvez você nem precise inicializar.
Cumprimentos
fonte
Boolean
, nãoboolean
, então o padrão seránull
.Eles serão inicializados
false
por padrão. Em Java, os arrays são criados no heap e cada elemento do array recebe um valor padrão, dependendo de seu tipo. Para oboolean
tipo de dados, o valor padrão éfalse
.fonte
Boolean
, nãoboolean
, então o padrão seránull
.public static Boolean freq [] = new Boolean [Global.iParameter [2]];
Global.iParameter [2]:
Deve ser um valor const
fonte