我有这样的结构:

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。不要尝试反复尝试。

10-08 20:14