java – 引用List的列表
发布时间:2020-12-15 08:42:17 所属栏目:Java 来源:网络整理
导读:如果我有一个A类,其中包含A类儿童的List public Class A{ protected ListA children = new ArrayListA(); ...} 那么在子类B中是否可以拥有另一个类C的子级并创建对A类子列表的引用? A类具有其他类想要使用的方法,例如送孩子去.但是,A类是一般类,B和C更具体.
如果我有一个A类,其中包含A类儿童的List
public Class A { protected List<A> children = new ArrayList<A>(); ... } 那么在子类B中是否可以拥有另一个类C的子级并创建对A类子列表的引用? A类具有其他类想要使用的方法,例如送孩子去.但是,A类是一般类,B和C更具体.因此,为了使代码的读取更容易并避免大量的类型转换,我希望超类的List能够引用子类的List. 因此,当我更新otherChildren时,子列表也将更新.我想在下面的示例中执行某些操作,但这样做不起作用,也无法进行转换(children =(List< A>)otherChildren). 但无论如何要实现这一目标吗?我真的很想避免所有的类型转换,否则我会得到. public Class B extends A { private List<C> otherChildren = new ArrayList<C>(); public B() { children = otherChildren; ... // Modification of otherChildren will result in the same // modification in children } } public Class C extends A { ... } 解决方法
您所要做的就是将A类中的子项声明更改为:
protected List<? extends A> children = new ArrayList<A>(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |