ArrayList中的java – toArray(T [])方法
发布时间:2020-05-24 18:01:34 所属栏目:Java 来源:互联网
导读:当我通过ArrayList实现时,我在toArray(T [])方法中发现了一段奇怪的代码. public T T[] toArray(T[] a) { if (a.length size) // Make a new array of as runtime type, but my contents: return (T[
|
当我通过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解释了原因:
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
