黑马程序员技术交流社区

标题: 关于ArrayList.class的构造方法的疑问 [打印本页]

作者: hardeas    时间: 2016-2-6 22:58
标题: 关于ArrayList.class的构造方法的疑问
List<String> nList=new ArrayList<String>();请看上面的语句,它NEW了一个ArrayList的实例化对象。但是小弟在查看ArrayList的源代码的时候,发现了一个奇怪的问题。


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


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

作者: ContainsM    时间: 2016-2-7 16:19
看 ArrayList 中的 add 方法

作者: hardeas    时间: 2016-2-10 09:51
这和Add方法是不是无关呀。这里说的是构造方法会默认产生10个单位的容器啊。英文都有写,是不是Bug呀。
作者: 谁的苍茫    时间: 2016-2-13 08:14
private static final int DEFAULT_CAPACITY = 10; 他有个常亮是为10,当创建的时候就赋值为10
作者: hardeas    时间: 2016-2-14 23:09
经过测试,实际new出来的ArrayList对象的初始容量为0.
直接在New语句下面跟一句
System.out.println(arrayList.size());就得到结果了
说明是官方在更改版本的时候,没有修改文档注释.
作者: hardeas    时间: 2016-2-14 23:11
在add方法中,使用了ensureCapicity,这里才定义了10个大小的容量.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2