Java 在泛型集合方法中发送ArrayList

Java 在泛型集合方法中发送ArrayList,java,generics,Java,Generics,我有这个方法 public <E> Collection<E> toCollection(E[] a) public Collection to Collection(E[]a) 我不知道的是E[]是什么意思?您将如何向该方法发送ArrayList 提前感谢。E[]表示函数需要类型为E的对象数组E是一种泛型类型。 有关更多信息,请参阅 您不能将ArrayList发送到该方法,因为ArrayList不是Array。它也已经是一个集合,所以在ArrayList中使用该方法

我有这个方法

public <E> Collection<E> toCollection(E[] a)
public Collection to Collection(E[]a)
我不知道的是
E[]
是什么意思?您将如何向该方法发送
ArrayList


提前感谢。

E[]
表示函数需要类型为
E
的对象数组<代码>E是一种泛型类型。 有关更多信息,请参阅

您不能将
ArrayList
发送到该方法,因为
ArrayList
不是
Array
。它也已经是一个
集合
,所以在ArrayList中使用该方法是没有意义的

为什么是收藏?因为它实现了接口。 如果该方法旨在将数组转换为
集合
,那么您可以看到将ArrayList转换为数组只是为了让它通过那里发送是一个坏主意


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

对于记录,
arraylist
是一个
集合
。可以将列表转换为数组,但是,只有当您的运行时类型为
E
@shmosel时,我才会对答案进行编辑,以明确为什么这是可能的,而这可能仍然是个坏主意