Проблема в том, что objectHashMap?.values
оценивается как null
, когда:
objectHashMap
само по себе null
или values
свойство равно null
Вы используете безопасный оператор ?.
, и это, очевидно, может привести к null
результатам, которые вы не должны передавать ArrayList.Вы можете указать значение по умолчанию, используя оператор Элвиса:
ArrayList<Post>(objectHashMap?.values ?: defaultValues)
В качестве альтернативы можно создать пустой список следующим образом:
if(objectHashMap==null) ArrayList<Post>() else ArrayList<Post>(objectHashMap.values)
Обратите внимание, что во второй части компилятор позволяетвы используете objectHashMap
как необнуляемый тип, так как вы проверили его в if
.