java - 从java中的if语句(具有多个AND类型的条件)中查找失败的条件
问题描述
我正在努力研究 Java 中的 if 语句。它是这样的。假设 if 语句中有多个条件与 AND 运算符连接,并且由于其中一个条件失败而导致条件失败。然而,很难找到哪个条件失败了,因为整个场景都失败了。我想知道是否有一些操作或逻辑,我们可以从中识别导致失败的条件。
注意:嵌套 if 可以,但不太可行,所以想从社区获得一些意见。提前致谢。
if (!(employee.validateemployee(employee) && employee.Validateweb(message))) {
log.info(" Mandatory Validation Failed !!");
validationHelper.DBinsert(exchange, message);
}
解决方案
不优雅,但如果您真的需要失败条件的索引,您可以使用流执行以下操作:
Stream<Boolean> myBools = Stream.of(true,false,true,true);
int failedAt = myBools.takeWhile(Boolean::booleanValue).collect(Collectors.toList()).size() + 1;
System.out.println("Failed at position " + failedAt);
在你的情况下
if (!(employee.validateemployee(employee) && employee.Validateweb(message))) {
int failedAt = Stream.of(employee.validateemployee(employee), employee.Validateweb(message))
.takeWhile(Boolean::booleanValue)
.collect(Collectors.toList())
.size() + 1;
log.info(" Mandatory Validation Failed !! at position: " + failedAt );
validationHelper.DBinsert(exchange, message);
}
推荐阅读
- javascript - 如何在 react.js 中导入和使用 D3-tube-map
- php - 如何避免我的 PHP 代码和 SQL 联结表之间的命名不明确?
- java - 如何在此示例中已存在的上添加新的 jpanel?
- python - Keras TensorBoard 可视化 Conv Kernels
- python - 列表最大值的索引
- javascript - 未设置背景颜色
- ios - IOS 中 Dismiss Modal View Controller 并同时 Segue 从发送到不同的 View Controller
- java - 如何在 Java Web 应用程序中捕获公式并支持公式评估
- raspberry-pi3 - 带屏幕的树莓派上的 Android Things 1.06
- javascript - 是否可以“暂停”发送消息以检查它?