Функция добавления моего MutableList не работает - PullRequest
0 голосов
/ 02 января 2019

Итак, я получил этот кусок кода, но почему-то функция «добавить» не работает.Список разрешений в порядке, и случай 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 Ответ

0 голосов
/ 02 января 2019

Ваш MutableList? всегда будет нулевым из-за этой строки:

val permits_modulated : MutableList<Schueler>? = null

Это говорит «создайте val (который нельзя изменить) с именем permits_modulated, типа nullable MutableList, и установите егоvalue to null ".

Чтобы обойти это, вы можете объявить это как значение, отличное от NULL, и исключить обнуляемость из типа:

val permits_modulated = mutableListOf<Scheduler>()

Или:

val permits_modulated: MutableList<Scheduler> = mutableListOf()

И затем, когда вы добавляете, вы можете игнорировать обнуляемость, потому что permits_modulated всегда будет иметь значение, которое не равно нулю:

 permits_modulated.add(permit)
...