gpt4 book ai didi

Java Generic如何更改参数化子类

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

我有这样的结构:

public class Record{}
public class ParsedRecord extends Record {}
public class RecordsList extends ParsedRecord {}

public abstract class Processor<T extends Record >{ private BlockingQueue<T> queue;}

public class Dispatcher extends Processor<ParsedRecord> {

List<ParsedRecord> list;

public Dispatcher() {
}

public void process(ParsedRecord record){
//blabla
}
}

我想使用 Dispatcher 类,其参数是 ParsedRecord 或从 ParsedRecord 类扩展的任何类型。

有人可以帮助我了解如何正确更改 Dispatcher 类定义吗?

最佳答案

可以像将类定义更改为一样简单:

public class <T extends ParsedRecord> Dispatcher extends AbstractProcessor<T> {

然后:使用该 T 作为列表的类型,或作为给 process() 的参数。

但真正的答案是:研究 concept .不要尝试反复试验。

关于Java Generic如何更改参数化子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43937891/

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