initialisation d'un tableau booléen en java


, j'ai ce code

public static Boolean freq[] = new Boolean[Global.iParameter[2]];
freq[Global.iParameter[2]] = false;

Quelqu'un pourrait-il me dire ce que je fais exactement de mal ici et comment le corrigerais-je? J'ai juste besoin d'initialiser tous les éléments du tableau en Booléen false. merci

Author: BalusC, 2010-03-02

5 answers

j'ai juste besoin d'initialiser tous les éléments du tableau de Booléen false.

Utilisez boolean[] à la place afin que toutes les valeurs par défaut soient false:

boolean[] array = new boolean[size];

Ou utiliser Arrays#fill() pour remplir le tableau d'ensemble avec Boolean.FALSE:

Boolean[] array = new Boolean[size];
Arrays.fill(array, Boolean.FALSE);

Notez également que l'index du tableau est basé sur zéro. La ligne freq[Global.iParameter[2]] = false; comme vous l'avez fait provoquerait ArrayIndexOutOfBoundsException. Pour en savoir plus sur les tableaux en Java, consultez ce tutoriel Oracle de base.

 240
Author: BalusC, 2013-01-02 16:17:51

Le tableau sera initialisé à false lorsque vous l'allouerez.

Tous les tableaux en Java sont initialisés à la valeur par défaut du type. Cela signifie que les tableaux d'entiers sont initialisées à 0, les tableaux de booléens sont initialisé à false et des tableaux de types de référence sont initialisées à null.

 16
Author: Jørgen Fogh, 2013-11-20 21:58:33

Les tableaux en Java commencent à indexer à 0. Donc, dans votre exemple, vous faites référence à un élément qui est en dehors du tableau par un.

Cela devrait probablement être quelque chose comme freq[Global.iParameter[2] -1]=false;

Vous devez parcourir le tableau pour initialiser tout cela, cette ligne initialise uniquement le dernier élément.

En fait, je suis à peu près sûr que false est par défaut pour les booléens en Java, donc vous n'avez peut-être pas besoin d'initialiser du tout.

Meilleures salutations

 9
Author: Big Endian, 2010-03-02 16:43:29

Ils seront initialisés à false par défaut. En Java, les tableaux sont créés sur le tas et chaque élément du tableau reçoit une valeur par défaut en fonction de son type. Pour le type de données boolean, la valeur par défaut est false.

 5
Author: codaddict, 2010-03-02 16:42:23

Public static Boolean freq [] = new Boolean[Global.iParameter[2]];

Mondial.iParameter[2]:

, Il devrait être const valeur

 2
Author: oneat, 2010-03-02 16:42:18