我在代码中看到了一些奇怪的行为:
java.lang.ArrayIndexOutOfBoundsException: 10
at java.util.ArrayList.clear(ArrayList.java:453) ~[na:1.6.0_35]
我正在调用frcSegmentWeights.clear()
,而frcSegmentWeights
的大小为11且仅包含空项。
我猜测ArrayList在内部某处保留了一个缓冲区,并且列表在前一次迭代中被清除,因此为空。接下来,缓冲区size()
被复制,当调用下一个clear()
时,抛出异常。我该如何同步呢?