Javaでの継承。このようにすることは可能ですか?
List<ParentEntity> loc = Locations,
どこにLocationsありますかList<ChildEntity>
Javaでの継承。このようにすることは可能ですか?
List<ParentEntity> loc = Locations,
どこにLocationsありますかList<ChildEntity>
いいえ、それはできません。ジェネリックではポリモーフィズムは許可されていません。
ただし、次のことができます。-
List<? extends ParentEntity> loc = new ArrayList<ChildEntity>();
はい、その割り当て後、を除いて、リストに新しいアイテムを追加することはできませんnull。それはあなたが耐えなければならない制限です。
したがって、最初にを作成し、それを入力ArrayList<ChildEntity>してから、に割り当てることができますthe LHS。
@Rohit Jainが言ったように、彼の答えは限られています。
次のような回避策があります。
List<ParentEntity> loc = new ArrayList<ParentEntity>()
loc.addAll(locations);
今回の制限は、List 実装の初期型が失われることです。さらに重要なことは、loc への変更が場所に反映されないことです。