gpt4 book ai didi

java - 'Var' 必须初始化 Kotlin

转载 作者:行者123 更新时间:2023-12-02 00:59:50 25 4
gpt4 key购买 nike

你们中的一些人可以帮我解决这个小问题吗?我对 Kotlin 和 Android 开发非常陌生!我不明白为什么这段代码会返回以下错误:

class Catalog {
var musicList: List<Music> = ArrayList()
}

class Music{
var id: String = ""
}

fun main(args: Array<String>) {
var test: Catalog
test.musicList[0] = "1"
}

错误:

Variable 'test' must be initialized

出了什么问题?谢谢大家!

最佳答案

在调用musicList的getter之前需要实例化它:

fun main(args: Array<String>) {  
var test = Catalog()
test.musicList[0] = "1"
}

此外,如果您不重新分配 test 的值,您可以将其声明为 val:

fun main(args: Array<String>) {  
val test = Catalog()
test.musicList[0] = "1"
}

此后您还会遇到另外 2 个错误:

  1. 由于 List 是不可变的,因此您不能使用运算符 [] 来赋值

要解决这个问题,您可以使用 MutableList 代替 List

class Catalog {
val musicList = mutableListOf<Music>()
}
  • 索引 0 处没有项目,因此会出现越界异常。要解决这个问题,您可以添加您的元素:
  • fun main(args: Array<String>) {  
    var test = Catalog()
    test.musicList += Music("1")
    }

    关于java - 'Var' 必须初始化 Kotlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60802369/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com