J'ai ce code
public static Boolean freq[] = new Boolean[Global.iParameter[2]];
freq[Global.iParameter[2]] = false;
quelqu'un pourrait-il me dire exactement ce que je fais de mal ici et comment le corriger? J'ai juste besoin d'initialiser tous les éléments du tableau sur Boolean false. Merci
J'ai juste besoin d'initialiser tous les éléments du tableau en booléen false.
Utilisez plutôt _boolean[]
_ pour que toutes les valeurs par défaut soient false
:
_boolean[] array = new boolean[size];
_
ou utilisez Arrays#fill()
pour remplir le tableau entier 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;
_ telle que vous êtes aurait provoqué ArrayIndexOutOfBoundsException
. Pour en savoir plus sur les tableaux en Java, consultez ce tutoriel Oracle de base .
Le tableau sera initialisé à false lorsque vous l'allouerez.
Tous les tableaux de Java sont initialisés à la valeur par défaut pour le type. Cela signifie que les tableaux d'ints sont initialisés à 0, les tableaux de booléens sont initialisés à faux et les tableaux de types de référence sont initialisés à null.
Les tableaux dans Java commencent à indexer à 0. Ainsi, dans votre exemple, vous faites référence à un élément qui se trouve en dehors du tableau par un.
Cela devrait probablement être quelque chose comme freq [Global.iParameter [2] -1] = false;
Vous auriez besoin de parcourir le tableau pour tout initialiser, cette ligne n'initialise que le dernier élément.
En fait, je suis à peu près sûr que false est la valeur par défaut pour les booléens en Java, vous n'avez donc peut-être pas besoin d'initialiser.
Meilleures salutations
Ils seront initialisés à false
par défaut. Dans Java, les tableaux sont créés sur le tas et une valeur par défaut est attribuée à chaque élément du tableau, en fonction de son type. Pour le type de données boolean
, la valeur par défaut est false
.
public static Boolean freq [] = new Boolean [Global.iParameter [2]];
Global.iParameter [2]:
Il devrait s'agir de la valeur const