今天第一天我们来看源马,从List开始,结果第一个方法 int size() 就给我整不会了

int size();

这个方法的注释上写:

Returns the number of elements in this list. If this list contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
Returns:
the number of elements in this list

这里的list contains more than Interger.MAX_VALUE elements, return Interger.MAX_VALUE

如果是一个

List<Integer> list = new ArrayList<>()

的话,不能插入比Integer大的元素
如果是

List<Long> list = new ArrayList<>()

的话,可以插入比Integer大的元素,但也会输出比Integer大的元素,并不会像他描述的输出Integer的最大值,这里该怎么理解呢

the number of elements in this list是这个列表的元素数量
它是说任意一种List的实现最多只支持2 147 483 647个元素,存的元素比这个数字再多,size函数也只能返回这个数,因为size()返回一个int,而一个int最大就是这个数,表示不了比这个数还大的数字