gpt4 book ai didi

java - 检查是否包含在子类中

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:17 24 4
gpt4 key购买 nike

我想要完成的是将#example 字段设置为包裹在可选中的当前示例子类实例,如果 contains 在所有子类上返回 false 我想返回一个 Optional#empty

我有一个抽象类。

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() 返回 true 的示例:

List<Example> examples = Arrays.asList(new Example1(), new Example2(), ...);
for (Example ex: examples) {
if (ex.contains()) {
example = ex;
break;
}
}

如果这不是您要的,也许可以尝试进一步澄清您的问题。

关于java - 检查是否包含在子类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34933884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com