gpt4 book ai didi

java - 如何在没有初始化和特定数量元素的情况下在 Kotlin 中创建对象数组?

转载 作者:IT老高 更新时间:2023-10-28 13:34:01 25 4
gpt4 key购买 nike

我想在 Kotlin 中创建一个具有特定数量元素的对象数组,问题是我现在没有在声明中初始化每个对象的当前值,我试过了:

var miArreglo = Array<Medico>(20, {null})

在 Java 中,我有这个,这正是我想要的,但我在 Kotlin 中需要它。 :

Medico[] medicos = new Medico[20];

for(int i = 0 ; i < medicos.length; i++){
medicos[i] = new Medico();

}

上述 Java 代码的 Kotlink 等效项是什么?

另外,我尝试过:

var misDoctores = arrayOfNulls<medic>(20)

for(i in misDoctores ){
i = medic()
}

但我的 Android Studio 向我显示消息:“无法重新分配 Val”

最佳答案

相当于 Kotlin 的可能是这样的:

val miArreglo = Array(20) { Medico() }

但我强烈建议您使用 Lists在 Kotlin 中,因为它们更加灵活。在您的情况下, List 不需要是可变的,因此我会建议这样的事情:

val miArreglo = List(20) { Medico() }

上面的两个片段很容易解释。第一个参数显然是 Java 中的 ArrayList 大小,第二个参数是 lambda 函数,即 init { ... } 函数。 init { ... } 函数可以包含某种操作,最后一个值将始终是返回类型和返回值,即在本例中为 Medico目的。

我也选择使用 val 而不是 var 因为 ListArray不应重新分配。如果您想编辑您的 List,请改用 MutableList

val miArreglo = MutableList(20) { Medico() }

然后您可以编辑此列表,例如:

miArreglo.add(Medico())

关于java - 如何在没有初始化和特定数量元素的情况下在 Kotlin 中创建对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49592991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com