对 java 中的 `toArray(T[] a)` 方法感到困惑
Confused about `toArray(T[] a)` method in java
List
有一个方法toArray
如:
<T> T[] java.util.ArrayList.toArray(T[] a)
调用此方法时,我应该创建一个新实例并传递给它toArray(new MyElementClass[0])
。
能不能这样定义:
<T> T[] java.util.ArrayList.toArray(Class<T>)
通过调用toArray(MyElementClass[].class)
,是不是更有效?
会的。但是,为了向后兼容,给出了原始方法。
见this
现在 toArray
的方式是,它允许您重新使用一个数组(如果它有足够的大小,它将使用给定的数组)而不是总是需要分配一个新数组。
List
有一个方法toArray
如:
<T> T[] java.util.ArrayList.toArray(T[] a)
调用此方法时,我应该创建一个新实例并传递给它toArray(new MyElementClass[0])
。
能不能这样定义:
<T> T[] java.util.ArrayList.toArray(Class<T>)
通过调用toArray(MyElementClass[].class)
,是不是更有效?
会的。但是,为了向后兼容,给出了原始方法。
见this
现在 toArray
的方式是,它允许您重新使用一个数组(如果它有足够的大小,它将使用给定的数组)而不是总是需要分配一个新数组。