小编alh*_*art的帖子

Kotlin实例化不可变列表

我已经开始使用Kotlin作为java的替代品并且非常喜欢它.但是,如果没有跳回到java-land,我一直无法找到解决方案:

我有一个Iterable<SomeObject>并且需要将其转换为列表,因此我可以多次迭代它.这是一个不可变列表的明显应用,因为我需要做的就是多次读取它.我如何在开始时将这些数据实际放入列表中?(我知道这是一个界面,但我一直无法在文档中找到它的实现)

可能的(如果不满意)解决方案:

val valueList = arrayListOf(values)
// iterate through valuelist
Run Code Online (Sandbox Code Playgroud)

要么

fun copyIterableToList(values: Iterable<SomeObject>) : List<SomeObject> {
    var outList = ArrayList<SomeObject>()
    for (value in values) {
        outList.add(value)
    }
    return outList
}
Run Code Online (Sandbox Code Playgroud)

除非我误解,否则这些最终MutableLists会有效,但感觉就像是一种解决方法.是否有类似的immutableListOf(Iterable<SomeObject>)方法将实例化一个不可变的列表对象?

immutability kotlin

4
推荐指数
1
解决办法
1300
查看次数

标签 统计

immutability ×1

kotlin ×1