在Kotlin中创建具有已生成键值的对象的列表

问题描述 投票:0回答:1

[科特林的新事物;我需要从函数中获取HeightModel类对象的列表

class HeightModel(id: Int, height: Int)

我正在使用以下代码。但得到一个空列表

var i = 1
var j = 145
val li = emptyList<HeightModel>()
while(i < 46 && j < 191){
    li.toMutableList().add(HeightModel(i, j))
    i ++
    j ++
 }
return li

我正在获取一个空列表。我的预期结果应该是

listOf(HeightModel(1, 145), HeightModel(2, 146) .....HeightModel(46, 190))

非常感谢您的帮助

list kotlin
1个回答
0
投票

问题是li.toMutableList()返回列表的新实例,因此li仍然是空列表。

实际上emptyList()将返回不可变的空列表。因此,解决方案实际上是下一个:

var i = 1
var j = 145
val li = mutableListOf<HeightModel>()
while(i < 46 && j < 191){
    li.add(HeightModel(i, j))
    i ++
    j ++
 }
return li

或只是val li = ArrayList<HeightModel>()

© www.soinside.com 2019 - 2024. All rights reserved.