假设我们有以下类层次结构:
public abstract class Parent {
// body of parent
}
public class ChildA {
// body of child A
}
public class ChildB {
// body of child B
}
我们有一个 Parent
类型的对象集合以及一种提供该集合的方法:
List<Parent> list;
public void add(Parent newParent) {
list.add(newParents);
}
当我们开始向该列表添加元素时,如何确保它们只是同一类的实例? ChildA
的实例或 ChildB
的实例,但不能同时存在。
最佳答案
你可以做类似的事情
public void add(Parent newParent, Class<? extends Parent> clazz) {
if(clazz.equals(list.get(0).getClass()) {
list.add(newParents);
}
}
关于java - 如何强制对象集合是同一子类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36568950/