gpt4 book ai didi

java - 摘要列表<人>

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

更新:我的类比这更复杂,我只是卡在 ArrayList 行

我有以下类(class):

class CatList {

List<Cat> cats = new ArrayList<Cat>();

}

class DogList {

List<Dog> dogs = new ArrayList<Dog>();

}

其中 Cat 和 Dog 都是数据类。

但我想创建一个抽象类:

abstract class AnimalList {

List<???> animals;

AnimalList(Class animal) {

animals = new ArrayList<???>();

}
}

这样我就可以继承我的类

AnimalList CatList = new AnimalList(Cat);
AnimalList DogList = new AnimalList(Dog);
AnimalList CowList = new AnimalList(Cow);

希望这更有意义。因此我的问题是什么是???位?

最佳答案

使用类型参数可能会解决您的问题 - 对不同类型使用相同的类 - 无需继承:

public class AnimalList<T> {
private List<T> list = new ArrayList<T>();

public void add(T animal) {
list.add(animal);
}
// more methods
}

现在您可以参数化人和动物的实例:

AnimalList<Cat> catList = new AnimalList<Cat>();
catList.add(new Cat());
AnimalList<Dog> dogList = new AnimalList<Dog>();
dogList.add(new Dog());

关于java - 摘要列表<人>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11702479/

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