Bug 查询
即便是源码也是可能有 bug 的,源码中有些地方,你看起来会觉得匪夷所思,为何这么写?一种可能就是为了绕开某个官方的 bug,举个 ArrayList 源码的例子:
public ArrayList(Collection<? extends E> c) {
elementData = c.toArray();
if ((size = elementData.length) != 0) {
// c.toArray might (incorrectly) not return Object[] (see 6260652)
if (elementData.getClass() != Object[].class)
elementData = Arrays.copyOf(elementData, size, Object[].class);
} else {
// replace with empty array.
this.elementData = EMPTY_ELEMENTDATA;
}
}
这里面提到的 6260652 就是 bug 编号了,将这个编号用在下方页面,进行搜索即可了解该 bug 的详情