私はこのような構造を持っている:Javaのジェネリックパラメータ化されたサブクラスを変更する方法
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
}
}
は私がParsedRecordまたはParsedRecordクラスから拡張し、あらゆるタイプのパラメータでディスパッチャクラスを使用します。
Dispatcherクラス定義を正しく変更する方法を理解してもらえますか?その後、
public class <T extends ParsedRecord> Dispatcher extends AbstractProcessor<T> {
と::
私はこの変種を試しましたが、Dispatcherサブクラスでエラーが発生しましたが、それについてはわかりませんでした。ありがとう。ジェネリックを徹底的に学ぶことを約束します。 – Andrew