A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

List<String> nList=new ArrayList<String>();请看上面的语句,它NEW了一个ArrayList的实例化对象。但是小弟在查看ArrayList的源代码的时候,发现了一个奇怪的问题。


这里有提到无参构造方法的容量大小为10个,但是它没有写this(10)的语句。所以我又看了一下它的父类对象


也没规定容量。
但是我在人家的教程中看到过ArrayList这个类的无参构造方法,不是这样写的。
这是什么原因?是java版本不同吗?望大神解答

评分

参与人数 1技术分 +1 收起 理由
洋葱头头 + 1

查看全部评分

5 个回复

倒序浏览
看 ArrayList 中的 add 方法
回复 使用道具 举报
这和Add方法是不是无关呀。这里说的是构造方法会默认产生10个单位的容器啊。英文都有写,是不是Bug呀。
回复 使用道具 举报
private static final int DEFAULT_CAPACITY = 10; 他有个常亮是为10,当创建的时候就赋值为10
回复 使用道具 举报
经过测试,实际new出来的ArrayList对象的初始容量为0.
直接在New语句下面跟一句
System.out.println(arrayList.size());就得到结果了
说明是官方在更改版本的时候,没有修改文档注释.
回复 使用道具 举报
在add方法中,使用了ensureCapicity,这里才定义了10个大小的容量.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马