gpt4 book ai didi

java - 集合泛型无法添加定义类型的对象

转载 作者:行者123 更新时间:2023-12-01 07:29:36 26 4
gpt4 key购买 nike

我创建了 2 个对象:PersonMen(扩展 Person)。然后,我创建了一个通用集合来仅添加 Men 对象,但由于某种原因,它不允许我添加 Men 对象。

class Person{

}

class Men extends Person{

}

public class test extends HashSet<Person>{

public static void main(String[] args) {

List<? extends Person> p1 = new ArrayList<Men>();
p1.add(new Men());

}

}

最佳答案

List<? extends Person>表示“扩展 List 的某种具体类型的 Person ,但我们不知道该具体类型实际上是什么”。据我们所知,它可能是 List<Women> !因此,您实际上无法向此列表添加任何内容( null 除外)。您可能想要:

List<Men> p1 = new ArrayList<Men>();  // a list of only Men instances

另请参阅:Wildcards

关于java - 集合泛型无法添加定义类型的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19161485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com