У меня есть ArrayList
объектов, и иногда я звоню remove()
для удаления некоторых из них.
Я заметил некоторые сообщения о NullPointerException
в Google Android Developer Console, и наконец, я обнаружил, что в некоторых случаях я перебираю этот массив для доступа к объектам, и по какой-то причине после удаления некоторых объектов размер массива остается тем же, например, если массив имеет 11 элементов и я удаляю последний, он все еще имеет 11 элементов, но последний содержит ноль, поэтому, поскольку .size()
возвращает 11, он дает nullpointerexception
после попытки доступа к нулевому объекту, содержащемуся в последней позиции.
Почему это происходит? Как этого избежать?
РЕДАКТИРОВАТЬ: перед повторением и после удаления я объединяю три массива с "addAll ()" в смешанный, может быть, addAll копирует ошибочно удаленные нулевые ссылки?