java - 在通用 Collection 方法中发送 ArrayList

标签 java generics

我有这个方法

public <E> Collection<E> toCollection(E[] a)

我不知道E[]是什么意思?您将如何向此方法发送ArrayList

提前致谢。

最佳答案

E[] 表示该函数需要一个 E 类型的对象数组。 E 是泛型类型。 请参阅here了解更多信息。

您无法将 ArrayList 发送到该方法,因为 ArrayList 不是 Array。它也已经是一个Collection,因此将该方法与 ArrayList 一起使用是没有意义的。

为什么它是一个集合?因为它实现 Collection界面。 如果该方法的目的是将数组转换为集合,那么您会发现将 ArrayList 转换为数组以便您可以通过那里发送它是一个坏主意。

不过,如果您已经知道 E 具体是什么(当您运行程序时它将是什么类型),您当然仍然可以将 arraylist 转换为数组并通过该方法发送它.

关于java - 在通用 Collection 方法中发送 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60219150/

相关文章:

swift - Swift 中的通用类型别名

java - 静态类是单例吗?

java - Saxon 免费版本中的 XQuery

java - 如何在使用 Maven、Jetty 和 Spring 进行集成测试的爆炸 war 中包含测试类?

带有 Protocol.Type 的 Swift 泛型

java - 如何创建其条目具有通用字段的项目数组?

java - 如何从jpa原生查询的resultList中获取clob值?

java - 错误 "package com_atlassian_clover does not exist"

go2go.playground - 预期类型,发现 'type'(还有 1 个错误)

swift - 泛型方法中 T 和 Self 的区别