首页 > 解决方案 > Kotlin ArrayList IndexOutOfBoundsException

问题描述

我在 Kotlin 中有以下 ArrayList:

private var myArrayList = arrayListOf<ByteArray>(ByteArray(20), ByteArray(20), ByteArray(20))

我对这种语法的理解是 this 的大小ArrayList是由传递给构造函数的元素数量隐式定义的;所以 3 在这种情况下?除此之外,我应该能够ArrayList使用以下语法访问 this 的第 n 个元素myArrayList[n]

我相信我对这个过程的理解是错误的(我不确定是哪一点)。我认为这是因为当我尝试通过ArrayList以下任一方式设置值时:

myArrayList[0] = someByteArrayValue

或者

myArrayList.add(0, someByteArrayValue)

我收到以下错误:

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

为什么大小myArrayList等于0

在任何时候我都不会(故意故意打电话myArrayList.clear())所以我不确定大小是如何设置为0.

谢谢,亚当

标签: androidkotlin

解决方案


推荐阅读