如何在Kotlin中用值初始化数组?

402

在Java中,可以像这样初始化数组:

int numbers[] = new int[] {10, 20, 30, 40, 50}

Kotlin的数组初始化是什么样子的?


也许只需要查看文档:http://kotlinlang.org/docs/reference/basic-types.html - Jan Köhler
7
文档有点掩盖了答案。他们在旁注中提到(被弃用的)array()函数,而不是给出源代码示例:为了创建一个数组,我们可以使用库函数array(),并将项目值传递给它,这样array(1, 2, 3)将创建一个数组 [1, 2, 3] - Lars Blumberg
8
虽然我喜欢 Kotlin,但我必须说“Kotlin 文档”不够好(我从其他网站上学到的比 kotlinlang.org 更多)。 - MD TAREQ HASSAN
1
有时候你只需要一个 intRange,你可以这样做:val numbers = 1..5,它会给出从 1 到 5 的整数范围。 - Sylhare
27个回答

1

用以下方式初始化数组:val paramValueList : Array<String?> = arrayOfNulls<String>(5)


1
在全局范围内声明int数组。
var numbers= intArrayOf()

下一个 onCreate 方法将使用值初始化您的数组。
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    //create your int array here
    numbers= intArrayOf(10,20,30,40,50)
}

虽然这段代码可能回答了问题,但是提供关于为什么和/或如何回答问题的额外上下文可以提高其长期价值。 - rollstuhlfahrer

0

你也可以使用ArrayList来填充并返回一个数组。 下面的方法将在列表中添加10,000个Item类型的元素,然后返回一个Item数组。

private fun populateArray(): Array<Item> {
    val mutableArray = ArrayList<Item>()
    for (i in 1..10_000) {
        mutableArray.add(Item("Item Number $i" ))
    }
    return mutableArray.toTypedArray()
}

项目数据类将如下所示:
data class Item(val textView: String)

0

对于二维数组:

val rows = 3
val cols = 3
val value = 0
val array = Array(rows) { Array<Int>(cols) { value } }

你可以将元素类型更改为任何你想要的类型(如字符串、类等),并将值更改为相应的默认值。


0
在Java中,数组可以这样初始化:
int numbers[] = new int[] {10, 20, 30, 40, 50}

但在 Kotlin 中,数组可以通过多种方式进行初始化:

您可以使用 arrayOf() 函数来创建任何通用类型的数组:

val arr = arrayOf(10, 20, 30, 40, 50)

val genericArray = arrayOf(10, "Stack", 30.00, 40, "Fifty")

使用 Kotlin 的实用函数可以初始化一个数组

val intArray = intArrayOf(10, 20, 30, 40, 50)

0

通过这种方式,你可以在 Kotlin 中初始化 int 数组。

 val values: IntArray = intArrayOf(1, 2, 3, 4, 5,6,7)

虽然这段代码可能回答了问题,但提供有关它如何以及/或为什么解决问题的附加上下文将改善答案的长期价值。 - leopal

-1

这里是一个简单的例子

val id_1: Int = 1
val ids: IntArray = intArrayOf(id_1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接