如何像在 java 中一样创建数组?
int A[] = new int[N];
如何在 Kotlin 中做到这一点?
最佳答案
根据reference , 数组的创建方式如下:
对于 Java 的原始类型,有不同的类型 IntArray
, DoubleArray
等存储unboxed值(value)观。
它们是用相应的构造函数和工厂函数创建的:
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
可以是nullable and non-null喜欢 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 }
https://stackoverflow.com/questions/35253368/