1

以下のように、TypeA または TypeB のいずれかになる Map を受け入れる必要があります。

 Map<Animal, List<TypeA/TypeB>>

これを宣言するにはどうすればよいですか?上限に 2 つのクラスを指定することはできません。

 Map<Animal, List<? extends Object>> OR Map<Animal, List<Object>>

広すぎます。TypeAかTypeBに限定したかった

より良い方法はありますか?

TypeA と TypeB をインターフェイスでラップすることはできません。

編集: 答えから、カスタムタイプでは不可能であることを理解しています。フォローアップの質問は、 を使用する場合<? extends Object>、 のタイプをどのように確認すればよいですか? TypeAかTypeBのどちらかです。instanceof を使用する必要がありますか? コードサンプル?

4

1 に答える 1