ここにソースコードがあります:Arraylist.remove(int index)のソースコードにこのスニペットは不要ですか?
このリストの指定された位置にある要素を削除します。後続の要素を左にシフトします(インデックスから1を引く)。 パラメータ: インデックス要素のインデックスを削除する 戻り値: リスト から削除された要素例外: java.lang.IndexOutOfBoundsException
public E remove(int index) {
rangeCheck(index);
modCount++;
E oldValue = elementData(index);
int numMoved = size - index - 1;
if (numMoved > 0)
System.arraycopy(elementData, index+1, elementData, index,
numMoved);
elementData[--size] = null; // Let gc do its work
return oldValue;
}
を私の質問は:rangeCheck(index)として
のインデックス<のサイズがであることを既に保証している場合は、if (numMoved > 0)
を確認する必要がありますか?