在ArrayList底层中,如果当前所需的最小容量minCapacity<0时为什么会报OOM异常,size+1怎么小于0呢
2条回答 默认 最新
- zcl_1991 2021-11-17 13:31关注
你这不是1.8的吧,1.8里面不长这样;
minCapacity 意思是所需的最小容量,也就是前面的 size+1;就是 最小需要当前size+1;
if (newCapacity - minCapacity <= 0) 就是新计算出来的容量比最小所需的还要小,说明超出了Integer.MAX_VALUE ,所以会出现负数本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报