gpt4 book ai didi

java - 类数组列表 : ArrayList but how to force those classes to extend some super class?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:41:29 24 4
gpt4 key购买 nike

我想管理类的 ArrayList。

例如,我有 3 种类型的过滤器:TextFilterDurationFilter 和扩展FilterTimeFilter

这似乎是正确的:

List<Class> filters = new ArrayList<Class>();

filters.add(TextFilter.class);
filters.add(DurationFilter.class);
filters.add(TimeFilter.class);

但是现在我想用

来限制ArrayList类型
List<Filter.class> filters = new ArrayList<Filter.class>();

filters.add(TextFilter.class);
filters.add(DurationFilter.class);
filters.add(TimeFilter.class);

但是好像不太对。你能解释为什么吗?你有解决方案只接受 Filter 子类添加到我的 ArrayList 中吗?谢谢。

最佳答案

使用 ?在泛型中。

List<Class<? extends Filter>> filters = new ArrayList<Class<? extends Filter>>();

因为您需要类对象而不是实例。

关于java - 类数组列表 : ArrayList<Class> but how to force those classes to extend some super class?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16419863/

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