如何像在java中一样创建数组?
int A[] = new int[N];
我怎么能在Kotlin做到这一点?
答案 0 :(得分:101)
根据reference,数组按以下方式创建:
对于Java的原始类型,存在不同类型IntArray
,DoubleArray
等,它们存储unboxed个值。
它们是使用相应的构造函数和工厂函数创建的:
val arrayOfZeros = IntArray(size) //equivalent in Java: new int[size]
val numbersFromOne = IntArray(size) { it + 1 }
val myInts = intArrayOf(1, 1, 2, 3, 5, 8, 13, 21)
第一个与Java相似,它只是创建一个填充了默认值的原始数组,例如: Int
为零,false
为Boolean
。
非原始数组由Array<T>
类表示,其中T
是项类型。
T
仍然可以是Java中的一种类型基元(Int
,Boolean
,...),但其中的值将与Java的Integer
等效。 ,Double
等等。
此外,T
可以是String
String?
和val nulls = arrayOfNulls<String>(size) //equivalent in Java: new String[size]
val strings = Array(size) { "n = $it" }
val myStrings = arrayOf("foo", "bar", "baz")
val boxedInts = arrayOfNulls<Int>(size) //equivalent in Java: new Integer[size]
val boxedZeros = Array(size) { 0 }
。
这些是以类似的方式创建的:
Retrofit
答案 1 :(得分:1)
在Kotlin中,创建大小为N的IntArray很简单。使用IntArray(n)
或适当的类型,如热键答案中详细说明的那样。
使用固定大小的数组时,可以使用Kotlin Destructuring
// Create fixed sized array
val point = IntArray(2)
// Access values directly
val (x, y) = point
在这种情况下,x
将从索引0中获取,y
从索引1中获取,等等。
答案 2 :(得分:1)
答案 3 :(得分:-1)
val A = FloatArray(N) //N 是 ar 的大小