-
背景問題
一直搞不清楚 ArrayList 的實現方式今天用debug看了系統類庫的解決了問題. -
類庫代碼
private void add(E e, Object[] elementData, int s) {
if (s == elementData.length) {
elementData = this.grow();
}
elementData[s] = e;
this.size = s + 1;
}
public boolean add(E e) {
++this.modCount;
this.add(e, this.elementData, this.size);
return true;
}
- 分析總結
這裏向ArrayList中添加元素的本質上就是向Object類型的數組中添加元素, 通過指定ArrayList的泛型來限制Object [ ]數組中元素的類型 .