Ely*_*lye 3 collections kotlin
在科特林文件https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/component1.html
有component1
至component5
。我有点迷茫它们的用例是什么?
我认为我们基本上可以mylist.get[0]
为mylist.component1
. 它更短,更具扩展性。拥有这样的东西似乎是多余的component1
。我错过了任何细节吗?
这些允许解构声明。
在问题中链接的页面的进一步下方,它解释了 Map 条目的相应component1()
和component2()
方法允许您对它们使用解构声明。集合和数组也是如此。
如果需要集合的前几个元素,可以将它们分配给命名变量,如下所示:
val (first, second, third, fourth, fifth) = myList;
Run Code Online (Sandbox Code Playgroud)
同样,如果您将集合作为 lambda 参数传递,它可以轻松拆分它:
myList.let{ (first, second, third) ->
// …
}
Run Code Online (Sandbox Code Playgroud)
这个特性对集合和数组的用处比对数据类或映射的用处要小一些,因为不能保证它足够长;上面会给出IndexOutOfBoundsException
如果不是。或者,如果它更长,则忽略多余的元素。但是如果你可以确定长度,它可以更简洁一些。
归档时间: |
|
查看次数: |
84 次 |
最近记录: |