ArrayList类toArray方法存在的风险
1.传入的参数a,并不一定被使用到
2.返回的并不一定是传入的那个a
如果我们传入的a的length<size,也就是说传入的那个a根本容纳不了那么多数据,那么这个方法使用不会出现什么问题,因为方法内部会copy一份数据并给我们搞一个新的数组,然后返回给我们。
但是如果我们传入的a的长度?>size,也就是说我们传入的a能够容纳arraylist中的内容,并且还有剩余空间,
这时候我们发现他仅仅是把arraylist中的数据copy到a中?,然后用null标志了一下结束位置。
那么,我们在外部访问a的时候唯一遍历方式就是根据null位置判断数据结尾对吧,假设arraylist中总共有10条数据,但是第二条数据为null,
这个时候我们在外部再访问a的时候就会丢失8条数据了。因为我们是根据null来判断数据结束位置的。