java - 对java中的 `toArray(T[] a)`方法感到困惑

标签 java generics type-erasure

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

关于java - 对java中的 `toArray(T[] a)`方法感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27884620/

相关文章:

java - 使用 scriptlet 的缺点?

c# - 接口(interface)作为参数或泛型方法与 where - 有什么区别?

swift- 无法将类型 '[Int]' 的值转换为预期的参数类型 '[_]'

java - 泛型与遗留代码 : 相比有何优势

Scala:如何使案例类副本保留 list 信息

java - 由于在 @Transactional 方法中使用带有 Hibernate、Spring 和 CrudRepository 接口(interface)的 JPA 关闭 session 导致延迟加载异常

java - 在 Java 中单元测试线程安全的任何令人满意的方法?

java - Spring MVC 从应用程序 war 文件中分离 Assets

java - 如何使用泛型调用最具体的方法?

c++ - 类型删除和访问器