ArrayList中的java – toArray(T [])方法
发布时间:2020-12-14 23:56:33 所属栏目:Java 来源:网络整理
导读:当我通过ArrayList实现时,我在toArray(T [])方法中发现了一段奇怪的代码. public T T[] toArray(T[] a) { if (a.length size) // Make a new array of a's runtime type,but my contents: return (T[]) Arrays.copyOf(elementData,size,a.getClass()); Syste
当我通过ArrayList实现时,我在toArray(T [])方法中发现了一段奇怪的代码.
public <T> T[] toArray(T[] a) { if (a.length < size) // Make a new array of a's runtime type,but my contents: return (T[]) Arrays.copyOf(elementData,size,a.getClass()); System.arraycopy(elementData,a,size); if (a.length > size) a[size] = null; return a; } 这部分是, if (a.length > size) a[size] = null; 为什么只有数组中此索引处的元素设置为null?一旦数组填充了列表的内容,其余索引处的元素应该设置为null,对吧?或者我在这里遗漏了什么? 解决方法
javadoc解释了原因:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |