他のメソッド シグネチャを超えて、このタイプのシグネチャを持つインターフェイスを作成したいと考えています。
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> 型を返すとアップキャストできません。これを行う方法についてのアイデアはありますか?ありがとうございました。