Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在kotlin中全局定义arralist_Android_Kotlin - Fatal编程技术网

Android 如何在kotlin中全局定义arralist

Android 如何在kotlin中全局定义arralist,android,kotlin,Android,Kotlin,对于android中的java类,我们通常在活动顶部声明一个int数组,比如int[]intarray; 并在需要时使用创建对象 intArray=新的Intsize 我所知道的是,在kotlin中,要使用数组,我需要做如下操作 val numbers: IntArray = intArrayOf(10, 20, 30, 40, 50) 我不能做的只是全局声明对象 val numbers: IntArray 在kotlin中,我们声明了val a:Int=1之类的变量,但如基本语法教程所示,

对于android中的java类,我们通常在活动顶部声明一个int数组,比如int[]intarray; 并在需要时使用创建对象 intArray=新的Intsize

我所知道的是,在kotlin中,要使用数组,我需要做如下操作

val numbers: IntArray = intArrayOf(10, 20, 30, 40, 50)
我不能做的只是全局声明对象

val numbers: IntArray
在kotlin中,我们声明了val a:Int=1之类的变量,但如基本语法教程所示,它不允许我只声明val c:Int之类的变量,然后在需要时对其进行初始化。它会给我错误信息

属性必须初始化或抽象


我把申报部分弄错了。因为它不允许我只定义val编号:IntArray。有人能告诉我哪里出错了吗?

不能定义未初始化的常量变量。更改以下行:

val numbers: IntArray
val numbers: IntArray
通过这个:

var numbers: IntArray? = null
lateinit var numbers: IntArray
因此,您可以修改数字变量值…

val是只读值,因此必须立即初始化,因为它只应设置一次。如果在创建活动时无法立即初始化数组,则应将其设置为var

这仍然需要初始化:例如,您可以使用空数组作为默认值对其进行初始化

var numbers: IntArray = intArrayOf()
或者,您可以使用lateinit关键字对其进行标记,以表明您还没有任何要分配给它的内容,但您知道它将在您首次使用它之前初始化,并且您将为此承担责任:

lateinit var numbers: IntArray
最后,您可以将其设置为可为null的IntArray,并使用null初始化它。在这里,当它为null时,编译器将避免您访问它,但每次访问它时,您都将被迫处理它可能为null的事实

val是只读的不可变数据变量。相反,使用变量获取更多信息

因此,您需要的是:

var numbers: IntArray? = null // This says numbers variable is nullable

您可以随时初始化它。

您不能定义未初始化的常量变量。更改以下行:

val numbers: IntArray
val numbers: IntArray
通过这个:

var numbers: IntArray? = null
lateinit var numbers: IntArray

因此,您可以随时进行初始化。

哦,需要尝试lateinit,感谢您的详细解释:代码无法编译,您必须初始化variable@AlexTa这是一个输入错误,我更改了它。您没有初始化变量yetJava affect::