我有类A,B和where extends , extendsC和extends 。DBACADA
我有以下ArrayList每一个都包含一些元素:
ArrayList<B> b;
ArrayList<? extends A> mix = b;
我打算让变量mix包含或类型B的元素。我试图像这样添加一个类型的元素:CDCmix
mix.add(anElementOfTypeC);
但是 IDE 不允许我这样做,它说:
anElementOfTypeC 不能通过调用转换方法转换为 CAP#1,其中 CAP#1 是一个新的类型变量:CAP#1 从捕获的 ? 扩展 A 扩展 A
我用对了<? extends A>吗?我该如何解决这个问题?