对 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 的方式是,它允许您重新使用一个数组(如果它有足够的大小,它将使用给定的数组)而不是总是需要分配一个新数组。