我对Kotlin有疑问。 我尝试了Kotlin的两个版本:1.0.0和1.2.6。 使用Kotlin,我们可以初始化数组并像这样访问其元素。
val n: Long = 10
val arr = Array(n, { it } )
val i: Long = 0
println(arr[i])
但是,我的这段代码有一个错误。
val n: Long = 10
val arr = Array(n.toInt(), { it } )
val i: Long = 0
println(arr[i.toInt()])
看来,这是将Long转换为Int以便编译此代码的唯一方法。
@ActiveProfiles
但是,这对我来说似乎太多余了,但是我找不到任何解决方案。所以我的问题是
答案 0 :(得分:5)
Kotlin随附longArrayOf(1, 2, 3)
,它将为您创建一个包含Long
的数组。
请注意,您尝试使用println(arr[i])
的方法是从Long
中获得arr
的值,但是数组的 indexing 是使用{ {1}}个。它永远无法与Int
一起使用:
Long
答案 1 :(得分:0)
如果要初始化给定长度的long数组,可以使用相同的顶级belongs_to :auth_group
belongs_to :user
belongs_to :auth_role
函数:
Array
这里的数字val n = 10 // n is Int
val arrayOfLongs = Array(n) { it.toLong() } // Array of 10 longs
是n
,并且初始化函数将要初始化的元素的整数索引Int
转换为it
,因此我们得到一个long数组作为结果。
或者您可以使用另一个类似的功能来创建专门的Long
:
LongArray
两个数组都存储长型,但后者存储的长度更紧凑。