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 への変更が場所に反映されないことです。