

在ArrayList底层中,如果当前所需的最小容量minCapacity<0时为什么会报OOM异常,size+1怎么小于0呢


在ArrayList底层中,如果当前所需的最小容量minCapacity<0时为什么会报OOM异常,size+1怎么小于0呢
你这不是1.8的吧,1.8里面不长这样;
minCapacity 意思是所需的最小容量,也就是前面的 size+1;就是 最小需要当前size+1;
if (newCapacity - minCapacity <= 0) 就是新计算出来的容量比最小所需的还要小,说明超出了Integer.MAX_VALUE ,所以会出现负数