我有一个带有两个初始化块的Kotlin类。我的构造函数包含两个参数,一个是String类型的list,另一个是可以为null的boolean类型。
我希望如果我用一个参数(String列表)创建类的示例,我只能执行第一个初始化块,如果我用两个参数创建示例,我可以执行第二个初始化块
class User(val type1: List<String>, val type2: Boolean?) {
init {
println("First initializer block executed ")
}
init {
println("Second initializer block executed ")
}
}
fun main() {
val list1: List<String> = listOf("One", "Two", "Three")
val user1 = User(list1,false)
}
请问我该怎么做?
1条答案
按热度按时间rkue9o1l1#
没有必要有两个初始化。只要做一个内部有逻辑的初始化来决定要做什么。例如: