【发布时间】:2023-01-07 21:39:08
【问题描述】:
为什么即使条件为真,If (isNormal == true) 语句也不起作用
我尝试做的代码如下
_checkResult() {
bool isNormal = false;
isNormal = userAnswer.every((item) => normalList.contains(item));
if (!isNormal) {
print("Normal");
} else {
print("Try Again");
}
}
我已经尝试打印两个列表以检查两个数据是否相同,
Both lists and result of if condition
如您所见,两个列表相同,但结果没有改变。请帮忙
【问题讨论】:
-
如果您不覆盖“equals”方法,那么“contains”将不适用于自定义类。另外,您只检查最后一个值,因为循环将检查每个项目,完成后,只会检查最后一个项目是否相等。另外,当您获得真实值时,您正在检查“isNormal”是否为负数以打印“Normal”以及它“重试”的原因
-
您的代码说“如果不正常,则打印正常”。这不是很好理解。
-
isNormal = userAnswer.every((item) => normalList.where((n) => n.id == item.id));
标签: flutter list dart if-statement