0
我有一個看起來像這樣一個ArrayList: 索引1:項目1 索引2:項目2 INDEX3:項目3安全地從刪除項目一個Java的ArrayList
如果我刪除了某個項目(ArrayList.remove(2))
,我得到的是這樣的:
Index1: Item1
Index2: Item2
Index3: null
通過這個具有for-loop
迭代給我null pointer
。 於是我就用ArrayList.trimToSize()
,這給了我:
Index1: Item1
Index2: Item2
喜悅。除了loop
仍然給我一個null pointer
。如果我有一個try-catch
圍繞着它,檢查它,它看起來像Java擴展了我的ArrayList
恢復到原來的大小,完全與null
:
Index1: Item1
Index2: Item2
Index3: null
這是怎麼回事?爲什麼我的trimToSize()
被顛倒? 我明白有很多其他方法可以遍歷某些內容,但我想知道發生了什麼以及爲什麼。
你是如何刪除項目? – Nick
顯示一些代碼! –
通過'ArrayList'迭代不應該拋出'nullpointer異常',這就是'ArrayLists'的魅力,你不必擔心那些廢話。你是否刪除index3上的元素,還是將它設置爲'null'? –