[英]How to destruct a constructor in Kotlin
如何以這種方式在Kotlin中編寫類,以便在初始化時可以銷毀它,例如:
val (set, list, map) = CollectionsGenerator(arg1, arg2)
為了解構對象,您需要在其上定義以下形式的方法(其中X
是從1開始的數字,並且返回類型可以是您希望返回的任何值):
operator fun componentX(): Any {}
要執行與問題類似的操作,可以將構建類所使用的參數保存到屬性中,然后component
方法可以使用這些屬性:
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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.