所以我得到了这段代码,但不知何故"add"函数不起作用。"许可证"列表没问题,如果情况也被触发。但是最后一个"日志"仍然显示permits_modulated的"null"。知道吗?
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())
}
}
由于以下行,您的MutableList?
将始终为空:
val permits_modulated : MutableList<Schueler>? = null
这说"创建一个名为 permits_modulated 的 val(无法更改),类型为 nullable MutableList,并将其值设置为 null"。
为了解决这个问题,你可以将其声明为具有非空值,并从类型中删除可空性:
val permits_modulated = mutableListOf<Scheduler>()
或:
val permits_modulated: MutableList<Scheduler> = mutableListOf()
然后,当您添加时,您可以忽略可空性,因为permits_modulated
将始终具有不为空的值:
permits_modulated.add(permit)