JDK版本:JDK1.6
IDE:eclipse
今天在公司寫(xiě)代碼時(shí)有一個(gè)邏輯(此處省略那么多字)卡住了,想到了add(index,E) 這個(gè)方法,就想要用一用
結(jié)果聲明一個(gè)集合之后,在添加元素時(shí)報(bào)了下標(biāo)越界的異常

What's? the? fuck
ArrayList在初始化的時(shí)候不是會(huì)默認(rèn)長(zhǎng)度是10的嗎?
百度一下之后 我才明白
ArrayList.add(int index, E e)的數(shù)組越界
大概就是:在執(zhí)行add操作的時(shí)候 會(huì)判斷 index 是否 大于size 大于的話 就下標(biāo)越界了?
這里的size 并不是長(zhǎng)度 而是list集合中元素的個(gè)數(shù)? 一開(kāi)始元素個(gè)數(shù)為0? (size=0)
所以下標(biāo)就越界了