Java 向泛型容器类添加通配符元素

Java 向泛型容器类添加通配符元素,java,generics,collections,wildcard,add,Java,Generics,Collections,Wildcard,Add,因此,我需要将ArrayList中的所有元素添加到具有泛型类型 方法如下所示: public class GenericOperations { public static <T> void insertElems(ContainerClass<T> container, ArrayList<?> array) { //How do I add elements from array to the container } } 公共类泛型操作{ 公共

因此,我需要将
ArrayList
中的所有元素添加到具有泛型类型
方法如下所示:

public class GenericOperations {
 public static <T> void insertElems(ContainerClass<T> container, ArrayList<?> array) {
   //How do I add elements from array to the container
 }
}
公共类泛型操作{
公共静态void insertElems(ContainerClass容器,ArrayList数组){
//如何将数组中的元素添加到容器中
}
}
我认为您不能将通配符元素添加到任何
集合
,但这必须是可能的。我知道如果
t
的类型不匹配,您无法执行此操作,但如果可能,我如何检查
是否有要添加到
容器中的兼容类型


不允许我更改方法签名。

容器采用特定元素,数组列表具有任何类型的元素(
)。从数组列表中获取的元素类型不能保证与容器的类型兼容,因此出现错误“我不允许更改方法头”您是指签名吗?那么,除非您强制转换元素,否则您就不走运了,这可能会在运行时引发异常。@Michael是的,我知道,但这是我的任务,所以必须有办法,对吗?啊,好吧,那么铸造是唯一的选择,这就是我想知道的,在没有任何关于神秘的
容器类的知识的情况下,我们应该如何回答这个问题?其他注释假定它遵循集合的逻辑,甚至是集合的子类型,但没有明确的语句,这只是猜测。@Holger这不完全是“猜测”。这是一个合理的假设。当然,
ContainerClass
可能有一个
add(Object o)
方法,但我会花钱买它没有。