在Java中,数组可以这样初始化:
int numbers[] = new int[] {10, 20, 30, 40, 50}
Kotlin的数组初始化是怎样的?
在Java中,数组可以这样初始化:
int numbers[] = new int[] {10, 20, 30, 40, 50}
Kotlin的数组初始化是怎样的?
当前回答
这里有一个例子:
fun main(args: Array<String>) {
val arr = arrayOf(1, 2, 3);
for (item in arr) {
println(item);
}
}
您还可以使用游乐场来测试语言特性。
其他回答
简单的方法:
整数:
var number = arrayOf< Int> (10,20,30,40,50)
保持所有数据类型
var number = arrayOf(10, "string value", 10.5)
老问题了,但如果你想使用一个范围:
var numbers: IntArray = IntRange(10, 50).step(10).toList().toIntArray()
产生几乎相同的结果:
var numbers = Array(5, { i -> i*10 + 10 })
结果:10,20,30,40,50
我认为第一个选项更有可读性。这两个工作。
我想知道为什么没有人给出最简单的答案:
val array: Array<Int> = [1, 2, 3]
根据对我最初答案的一个评论,我意识到这只在注释参数中使用时才有效(这对我来说真的是出乎意料)。
看起来Kotlin不允许在注释之外创建数组文字。
例如,使用args4j库中的@Option查看以下代码:
@Option( name = "-h", aliases = ["--help", "-?"], usage = "Show this help" ) var help: Boolean = false
选项参数“aliases”的类型是Array<String>
在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)
这里有一个简单的例子
val id_1: Int = 1
val ids: IntArray = intArrayOf(id_1)