Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
Kotlin “如何修复线程中的异常”;“主要”;java.lang.IndexOutOfBoundsException:索引:0,大小:0?_Kotlin - Fatal编程技术网

Kotlin “如何修复线程中的异常”;“主要”;java.lang.IndexOutOfBoundsException:索引:0,大小:0?

Kotlin “如何修复线程中的异常”;“主要”;java.lang.IndexOutOfBoundsException:索引:0,大小:0?,kotlin,Kotlin,我试图从我的可变列表中打印,但总是越界。我把成员添加到菜单底部,然后每次我试图从列表成员打印东西时,我都会出错。这些成员是作为列表存储的类的对象。我想这和我写清单的方式有关,但我想不出来 我尝试以不同的方式将成员添加到列表中,但结果是相同的错误 class membership () { var number: Int? = null var name: String? = null var address: String? = nul

我试图从我的可变列表中打印,但总是越界。我把成员添加到菜单底部,然后每次我试图从列表成员打印东西时,我都会出错。这些成员是作为列表存储的类的对象。我想这和我写清单的方式有关,但我想不出来

我尝试以不同的方式将成员添加到列表中,但结果是相同的错误

class membership ()
      {
        var number: Int? = null
        var name: String? = null
        var address: String? = null
        var zip: String? = null
        var phone: String? = null
        var memberSince: String? = null
        var memberType: Char? = null

    }

fun main(args: Array<String>) {

var Members: MutableList<membership> = mutableListOf()

    var member1 = membership()
    member1.number = 1
    member1.name = "George Jetson"
    member1.address ="123 Main St."
    member1.zip = "99207"
    member1.memberSince = "12/01/1997"
    member1.memberType = 'L'

Members[0] = member1

    println(Members[0].name)
}

// I have more members.

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
 at java.util.ArrayList.rangeCheck (ArrayList.java:653) 
 at java.util.ArrayList.set (ArrayList.java:444) 
 at FileKt.main (File.kt:45)
类成员资格()
{
变量编号:Int?=null
变量名称:字符串?=null
变量地址:字符串?=null
var-zip:String?=null
var电话:字符串?=null
var memberSince:字符串?=null
var memberType:Char?=null
}
趣味主线(args:Array){
变量成员:MutableList=mutableListOf()
var member1=成员资格()
member1.number=1
member1.name=“George Jetson”
member1.address=“123 Main St.”
member1.zip=“99207”
member1.memberSince=“12/01/1997”
member1.memberType='L'
成员[0]=成员1
println(成员[0]。名称)
}
//我有更多的成员。
线程“main”java.lang.IndexOutOfBoundsException中出现异常:索引:0,大小:0
位于java.util.ArrayList.rangeCheck(ArrayList.java:653)
位于java.util.ArrayList.set(ArrayList.java:444)
位于FileKt.main(File.kt:45)

我想说,如果以前未设置项目0,则您无法分配该项目。成员1需要添加一个

Members.add(member1)

嘿,我尝试了这个,它给了我一个错误“Assignment operators Ambization”Christian是对的,如果之前没有设置项0,您就不能将其分配给它,但您不应该编写
+=
。相反,
Members.add(member1)
应该可以工作。
+=
如果
Members
val
就可以了。(如果它是
var
,则不起作用,因为它可能意味着
Members=Members+something
Members.add(something)
,编译器无法分辨您的意思。)顺便说一句,如果它保持通常的编码约定,并将其命名为
Members
,那么这个问题就更容易理解了。您是对的,对不起,我相应地更正了答案。您应该尽量遵守命名约定(类成员、var成员)