他のメソッド シグネチャを超えて、このタイプのシグネチャを持つインターフェイスを作成したいと考えています。
Set<Instruction> parse(String rawData);
そして、インターフェイスを実装するクラスでは、実装として行いたい:
Set<Instruction> parse(String rawData){
//Do work.
//return an object of type HashSet<DerivedInstruction>.
}
抽象クラスをDerivedInstruction
拡張する場所。Instruction
(代わりに、命令はインターフェースでもかまいません)。
私のポイントは Collection 型ではなく (HashSet が Set を実装していることを知っています)、ジェネリック型です。それを検索したところ、 と の両方がタイプSet<Instruction>
をHashSet<SpecificInstruction>
拡張し、Object
継承を介して関連していないことがわかりました (少なくとも直接ではありません)。したがって、HashSet<SpecificInstruction>
型を返すとアップキャストできません。これを行う方法についてのアイデアはありますか?ありがとうございました。