gpt4 book ai didi

Java 通用通配符列表 动物 = new ArrayList<>()

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:31 25 4
gpt4 key购买 nike

我对 Java 通用通配符有疑问

为什么这段代码不起作用?

如果 B 扩展 A,

“? extends A”表示“?”允许 A 和 B
“? supers B”表示“?”允许B和A。

我错了吗?

enter image description here

最佳答案

这是因为据说 list 包含某种扩展 Animal 的类型 X。请注意,它不是任何动物性的东西,而是某种东西,而是一种动物性的东西。因此您可以确定列表中只有 X 种动物的实例。由于您不知道 X 是什么,因此您无法将任何动物添加到列表中,因为它可能不是 X。

关于Java 通用通配符列表<?扩展 Animal> 动物 = new ArrayList<>(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52243115/

25 4 0