如何在Kotlin中销毁构造函数
如何以这种方式在Kotlin中编写一个类,以便在初始化时销毁它,例如:如何在Kotlin中销毁构造函数,kotlin,Kotlin,如何以这种方式在Kotlin中编写一个类,以便在初始化时销毁它,例如: val (set, list, map) = CollectionsGenerator(arg1, arg2) 为了分解对象,您需要在对象上定义以下形式的方法,其中X是从1开始的数字,返回类型可以是您希望返回的任何类型: operator fun componentX(): Any {} 要执行与您的问题类似的操作,可以将构建类时使用的参数保存为属性,然后组件方法可以使用这些属性: class SetAndListMak
val (set, list, map) = CollectionsGenerator(arg1, arg2)
为了分解对象,您需要在对象上定义以下形式的方法,其中X是从1开始的数字,返回类型可以是您希望返回的任何类型:
operator fun componentX(): Any {}
要执行与您的问题类似的操作,可以将构建类时使用的参数保存为属性,然后组件方法可以使用这些属性:
class SetAndListMaker(val i: Int, val s: String) {
operator fun component1() = setOf(i, s)
operator fun component2() = listOf(i, s)
}
fun main(args: Array<String>) {
val (set, list) = SetAndListMaker(25, "dog")
}
当然,此主要功能与此相同:
fun main(args: Array<String>) {
val setAndListMaker = SetAndListMaker(25, "dog")
val (set, list) = setAndListMaker
}
为了分解对象,您需要在对象上定义以下形式的方法,其中X是从1开始的数字,返回类型可以是您希望返回的任何类型:
operator fun componentX(): Any {}
要执行与您的问题类似的操作,可以将构建类时使用的参数保存为属性,然后组件方法可以使用这些属性:
class SetAndListMaker(val i: Int, val s: String) {
operator fun component1() = setOf(i, s)
operator fun component2() = listOf(i, s)
}
fun main(args: Array<String>) {
val (set, list) = SetAndListMaker(25, "dog")
}
当然,此主要功能与此相同:
fun main(args: Array<String>) {
val setAndListMaker = SetAndListMaker(25, "dog")
val (set, list) = setAndListMaker
}