所以我得到了这段代码,但是以某种方式“添加”功能不起作用。 “允许”列表没问题,并且if-case也被触发。但是最后一个“ Log”仍然显示allows_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())
}
}
答案 0 :(得分:1)
由于以下这一行,您的MutableList?
总是为空:
val permits_modulated : MutableList<Schueler>? = null
这是说“创建一个名为allows_modulated的val(无法更改),其类型为nullable MutableList,并将其值设置为null”。
为了解决这个问题,可以将其声明为具有非null值,并从类型中删除可为空性:
val permits_modulated = mutableListOf<Scheduler>()
或者:
val permits_modulated: MutableList<Scheduler> = mutableListOf()
然后,当您添加时,您可以忽略可为空性,因为permits_modulated
将始终具有不为null的值:
permits_modulated.add(permit)