У меня есть этот код
public static Boolean freq[] = new Boolean[Global.iParameter[2]];
freq[Global.iParameter[2]] = false;
может кто-нибудь сказать мне, что именно я здесь делаю не так и как мне это исправить? Мне просто нужно инициализировать все элементы массива логическим значением false. Спасибо
java
arrays
initialization
Леба-Лев
источник
источник
Boolean[] array
поскольку это позволяет иметь три состояния для каждого элемента:true
,false
иnull
, что полезно в тех случаях , когда вы хотите , чтобы отметить , что что - то «не обрабатывается».При выделении массив будет инициализирован значением false.
Все массивы в Java инициализируются значением по умолчанию для типа. Это означает, что массивы int инициализируются значением 0, массивы логических значений инициализируются значением false, а массивы ссылочных типов инициализируются значением null.
источник
Boolean
, а неboolean
, поэтому будет по умолчаниюnull
.Массивы в Java начинают индексирование с 0. Итак, в вашем примере вы имеете в виду элемент, который находится вне массива на единицу.
Вероятно, это должно быть что-то вроде freq [Global.iParameter [2] -1] = false;
Вам нужно будет пройти через массив, чтобы инициализировать его все, эта строка инициализирует только последний элемент.
На самом деле, я почти уверен, что значение false по умолчанию для логических значений в Java, так что вам может вообще не понадобиться инициализировать.
Наилучшие пожелания
источник
Boolean
, а неboolean
, поэтому будет по умолчаниюnull
.Они будут инициализированы
false
по умолчанию. В Java массивы создаются в куче, и каждому элементу массива присваивается значение по умолчанию в зависимости от его типа. Дляboolean
типа данных значение по умолчаниюfalse
.источник
Boolean
, а неboolean
, поэтому будет по умолчаниюnull
.общедоступное статическое логическое значение freq [] = новое логическое значение [Global.iParameter [2]];
Global.iParameter [2]:
Это должно быть значение const
источник