Функция добавления моего MutableList не работает
Итак, я получил этот кусок кода, но почему-то функция "добавить" не работает. Список разрешений в порядке, и случай if также запускается. Но последний "Журнал" все еще показывает "ноль" для permits_modulated. Любая идея?
val permits: List<Schueler> = gson.fromJson(body, Array<Schueler>::class.java).toList()
val permits_modulated: MutableList<Schueler>? = null
for (permit in permits) {
Log.d("permit in permits", permit.toString() + " " + permit.vorname)
if (permit.vorname == name) {
permits_modulated?.add(permit)
Log.d("permit.vorname == name", permit.toString() + " " + permit.vorname)
Log.d("permit_modulated in if", permits_modulated.toString())
}
}
1 ответ
Решение
Ваш MutableList?
всегда будет нулевым из-за этой строки:
val permits_modulated : MutableList<Schueler>? = null
Это говорит: "создайте значение val (которое нельзя изменить) с именем permits_modulated, типа nullable MutableList, и установите для него значение null".
Чтобы обойти это, вы можете объявить это как имеющее ненулевое значение, и удаляющее обнуляемость из типа:
val permits_modulated = mutableListOf<Scheduler>()
Или же:
val permits_modulated: MutableList<Scheduler> = mutableListOf()
А потом, когда вы добавите, вы можете игнорировать обнуляемость, потому что permits_modulated
всегда будет иметь значение, которое не является нулевым:
permits_modulated.add(permit)