0

所以我得到了这段代码,但不知何故“添加”功能不起作用。“许可”列表没问题,if-case 也被触发。但是最后一个“日志”仍然显示许可调制的“空”。任何想法?

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())
    }
}
4

1 回答 1

1

由于这一行,您MutableList?的总是会为空:

val permits_modulated : MutableList<Schueler>? = null

这表示“创建一个名为 permit_modulated 的 val(不能更改),类型为可为空的 MutableList,并将其值设置为 null”。

为了解决这个问题,您可以将其声明为具有非空值,并从类型中删除可空性:

val permits_modulated = mutableListOf<Scheduler>()

或者:

val permits_modulated: MutableList<Scheduler> = mutableListOf()

然后,当您添加时,您可以忽略可空性,因为permits_modulated总是有一个不为空的值:

 permits_modulated.add(permit)
于 2019-01-01T22:06:42.160 回答