将类的Instance添加到构造函数参数属性中



我有以下类结构。CarModel类具有CarDefects类型的缺陷列表。我想把CarDefects类的实例添加到这个carModel的缺陷列表中,这个列表作为CarDefections构造函数的参数传递
但是,我不能使用add方法,错误消息显示如下:未解决的引用:添加

class CarModel(val brand: Brand, val modelName: String, val version: Int){
var defects: List<CarDefects>? = null
inner class Car(val model: CarModel, val manufactureYear: Int, val engineSerialNum: String){
}
inner class CarDefects(var carModel: CarModel, val affectedYears: Array<Int>, val defectCode: String ) {

init{
carModel.defects.add(//instance of this class)
}
}
}

您有一个List作为defects的类型。List是不可变的,所以你不能向它添加更多的元素。你需要使用mutableList才能做到这一点。

这里你有更多关于这个的信息

元素的通用有序集合。此接口中的方法仅支持对列表的只读访问;通过MutableList接口支持读/写访问。

或者,您可以尝试创建一个新的可变列表,每次都添加它,然后转换为列表。像这样的东西。

defects = defects?.toMutableList()?.add(//your car instance).toList()