NullPointerException, где Document.getList с использованием org.mongodb: mon go - java -driver: 3.12.1 - PullRequest
0 голосов
/ 08 мая 2020

При использовании драйвера man go - java: 3.12.1 получение NullPointerException исключений при чтении коллекции, содержащей нулевой элемент из документа,

теперь вернемся к Document.get

private <T> List<T> constructValuesList(final Object key, final Class<T> clazz, final List<T> defaultValue) {
    List<?> value = get(key, List.class);
    if (value == null) {
        return defaultValue;
    }

    for (Object item : value) {
        if (!clazz.isAssignableFrom(item.getClass())) { //NullPointerException if document contain list with null item
            throw new ClassCastException(format("List element cannot be cast to %s", clazz.getName()));
        }
    }
    return (List<T>) value;
}

как мы можем добавить небольшое исправление

if (item!=null && !clazz.isAssignableFrom(item.getClass()))
...