gpt4 book ai didi

java - 如何编写自定义约束来检查类中至少有一个 boolean 字段为 true

转载 作者:行者123 更新时间:2023-12-01 15:50:46 25 4
gpt4 key购买 nike

我有一个名为“Scheduler”的类,它有 7 个 boolean 字段。我想在 hibernate 中编写一个约束来检查至少一个 boolean 字段是否为真。

这是“调度程序”类。

public class Scheduler {

private String description;

@NotNull
private Boolean sMondays;

@NotNull
private Boolean sTuesdays;

@NotNull
private Boolean sWednesdays;

@NotNull
private Boolean sThursdays;

@NotNull
private Boolean sFridays;

@NotNull
private Boolean sSaturdays;

@NotNull
private Boolean sSundays;

public Scheduler() {

}
}

任何人都可以帮我写下提到的约束吗?

谢谢!!!!!!!!!

最佳答案

这很复杂,因为您使用的是 boolean 值而不是原始 boolean 值,这会产生空指针异常的风险。

为了简化逻辑,我会修改每个字段声明以将其初始化为 false。当您将它们注释为 @NotNull 时,我的假设是这将适用于您现有的业务逻辑。

如果您这样做,则可以使用 || 轻松验证至少一个为真:

public boolean validateAtLeastOneIsTrue() {
return getsMondays() || getsTuesdays() || getsWednesdays()
|| getsThursdays() || getsFridays() || getsSaturdays()
|| getsSundays();
}

关于java - 如何编写自定义约束来检查类中至少有一个 boolean 字段为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6095263/

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