标签: java generics wildcard
我对Java通用通配符有疑问
为什么此代码不起作用?
如果B延伸到A,
“?扩展A”表示“?”允许使用A和B。 “?supers B”表示“?”允许B和A。
我错了吗?
答案 0 :(得分:0)
这是因为据说列表包含一些扩展Animal的类型X。请注意,不是动物的东西,而是某物,而是动物的东西。因此,您可以肯定知道列表中只有X个动物的实例。由于您不知道X是什么,因此您不能将任何动物添加到列表中,因为它可能不是X。