2014-09-01 55 views
0

我在執行我的Android代碼時使用了以下格式的ArrayIndexOutOfBoundsException什麼是ArrayIndexOutOfBoundsException中指定的「length」?

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

只有當我在Android中獲得ArrayIndexOutOfBoundsException時,此格式纔會出現。在Java中,我只是索引打印。

我的問題是,在上面的語句中,長度代表了什麼?

容量是ArrayList或尺寸是ArrayList

+0

ArrayList的默認大小爲16位。 – 2014-09-01 09:53:33

回答

1

java.lang.ArrayIndexOutOfBoundsException:長度= 16;指數= -1

長度指示數組的大小
索引指示的量,ArrayIndexOutOfBoundsException拋出的非法索引。

  • 陣列的大小是16
  • 有效索引是0 - 15
  • 其試圖訪問無效的索引是 「-1」

是它的ArrayList容量或ArrayList的大小?

它是ArrayListsize

大小指示該列表中的元素的數量;而容量指示有多少元素可能被容納在ArrayList中而不重新分配其內部結構。

4

它代表陣列的大小,即16,因此它從015。但是,您嘗試訪問位置爲-1的元素,這當然不存在。

0

長度與ArrayList對象(當前存儲在其中)中的元素數量有關。如果長度爲n個元素長則長度變爲從零到n - 1

希望幫助:)

相關問題