-1

私が持っているコードは次のとおりです。

interfacebase<T>

interfaceA extends interface<A>  ---> interfaceAImpl implements interfaceA 
interfaceB extends interface<B>  ---> interfaceBImpl implements interfaceB


interfaceA  AObj = interfaceAImpl()
interfaceB  BObj = interfaceBImpl()

私の質問は:JavaはAObjとBObjをリストまたはマップに格納できますか?Javaが可能であれば、それを実現する方法

4

2 に答える 2

1

以下は、すべてのタイプ情報を失うことなく機能するはずです。

List<interfacebase<?>> list = new ArrayList<interfacebase<?>>();
list.add(AObj);
list.add(BObj);
于 2012-04-09T08:45:40.190 に答える
0

を作成する場合、ArrayList<Object>またはHashMap<Object>それらの中に好きなものを入れることができます。
と呼ばれる定義済みの基本クラス/インターフェースがBASEあり、その派生クラスからのオブジェクトを保存したいDERIVED場合は、に変更Objectする必要がありますBASE。この場合、あらゆる種類のオブジェクトをBASEから派生したリスト/マップに格納するか、それを実装することができます(インターフェイスの場合): ArrayList<BASE>HashMap<BASE>

于 2012-04-09T08:38:11.503 に答える