ArrayList java.lang.ArrayIndexOutOfBoundsException: length = 10; Индекс = 10

1

Эта ошибка возникает из-за этой проблемы.

java.lang.ArrayIndexOutOfBoundsException: length=10; index=10

Ниже приведен код, вызывающий исключение. "keys" - это ArrayList.

    for (int i = 0; i < keys.size(); i++) {
        if (values[i] != null) {
            contentValues.put(keys.get(i), String.valueOf(values[i]));
        }
    }

Что может вызвать это outOfBoundsException?

  • 0
    На какой строке эта ошибка?
  • 0
    Вы не ограничиваете свой доступ к values .
Показать ещё 1 комментарий
Теги:
indexoutofboundsexception

2 ответа

1
Лучший ответ

ошибка довольно понятна. Индекс, который вы пытаетесь получить, не существует. Java использует индексирование с нулевым индексом. Это означает, что если у вас есть что-то размером 10, то индексы равны 0-9

В цикле for вы никогда не проверяете, могут ли values[i] подняться до 10; Который, видимо, не может.

По внешнему виду values[] имеют размер 10 и keys больше.

  • 1
    Спасибо. Я не могу поверить, что я этого не заметил.
1

Я предполагаю, что ошибка указана в инструкции if. Как вы знаете, что существуют values[i]? Вы не итерируете values, вы повторяете keys.

Но вы не дали нам достаточной информации, чтобы точно знать. В какой строке это происходит?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню