我试图做到的是设置#示例领域当前实施的子类的实例包裹在一个可选的,如果包含的回报上,我想所有的子类假返回一个可选#空检查是否包含在子类
我有一个抽象类。
public abstract class Example {
public abstract boolean contains();
}
我那么有一些子类。
public final class Example1 extends Example {
@Override
public boolean contains() {
return true;
}
}
public final class Example2 extends Example {
@Override
public boolean contains() {
return true;
}
}
我有一个字段来确定当前存在的示例。
private final Optional<Example> example;
有没有办法循环子类并返回#contains条件?
像
Optional<Class> clazz = Some sort of loop to check if the #contains condition returns true;
然后设置我的例子场
if(clazz.isPresent()) {
setExample((Example) clazz.get());
}
这都是伪代码,这是不行的。如果你们知道如何做到这一点,并能解释我会意味着很多:)
你能进一步解释你时,你说叫什么“有没有通过子类的方式来循环并返回#contains条件”? 你是什么意思循环通过子类? Example类型的每个对象都是Example1或Example2,而不是两者。 –
这听起来像你有困惑的类与实例。你不会“遍历子类”;您将循环访问数组或实例的集合或流。 – VGR
每个类只有一个调用'contains()'的实现。 –