很抱歉这个令人困惑的标题。我试图在将所有输入测试传递到PersonList之后添加我的类的实例。到目前为止,我尝试在构造函数中创建我的类的对象但是没有用。请告诉我。
open class Person {
var _name: String
var _Id: String
var disabilities = emptySet<Disability>()
companion object {
val PersonList: MutableList<Person> = mutableListOf()
val PersonId: MutableList<String> = mutableListOf()
}
constructor(n: String, i: String){
_name = n
_Id = i
if(_name.isBlank()){
throw Error("blank string")
}
else if(_name.get(0).equals(' ')){
throw Error("leading zero")
}
else if(_Id.toIntOrNull()== null){
throw Error("Id is not numeric")
}
else if(_Id.length != 9) {
throw Error("Id is not length 9")
}
else if(_Id in PersonId){
throw Error("Person Id is a repeat")
}
else {
PersonList.add()
PersonId.add(_Id)
}
}
}
答案 0 :(得分:1)
您正在向PersonList
类型MutableList<Person>
添加任何内容。
我假设您要将当前Person
实例添加到列表中。
然后执行PersonList.add(this)
。
即,
...
else {
PersonList.add(this)
PersonId.add(_Id)
}
...