什么是"长度"在ArrayIndexOutOfBoundsException中指定?

时间:2014-09-01 09:46:42

标签: java android

我在执行Android代码时以下面的格式获得ArrayIndexOutOfBoundsException

java.lang.ArrayIndexOutOfBoundsException: length=16; index=-1

只有当我在Android中获得ArrayIndexOutOfBoundsException时才会出现这种格式。在Java中,我只是打印索引。

我的问题是,在上面的陈述中,长度意味着什么?

容量是ArrayList还是大小ArrayList

3 个答案:

答案 0 :(得分:4)

它代表数组的大小,16,因此从015。但是,您正在尝试访问位置-1中的元素,这当然不存在。

答案 1 :(得分:1)

  

java.lang.ArrayIndexOutOfBoundsException:length = 16;指数= -1

长度表示数组的大小
index 表示引发ArrayIndexOutOfBoundsException的非法索引。

  • 阵列的大小为16
  • 有效索引为0 - 15
  • 尝试访问的索引无效为“-1”
  

是ArrayList的容量还是ArrayList的大小?

这是sizeArrayList

size 表示该列表中的元素数量;然而, capacity 表示可以在ArrayList中容纳多少元素,而无需重新分配其内部结构。

答案 2 :(得分:0)

Length与ArrayList对象中的元素数量(当前存储在其中)有关。如果长度为n个元素长,则长度从零变为n - 1

希望有所帮助:)