以下のように、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 を使用する必要がありますか? コードサンプル?