我正在将excel表的值与从数据库返回的记录值进行比较,并且当if语句失败时,一条记录正在通过if语句。
if语句如下所示:
if (record.value.equals(cellVal) == false)
{
record.value = cellVal
record.modifyUser = userId
//dataService.updateManualEntry(record)
println "UPDATING ${record.value.equals(cellVal)}"
println "record value: ${record.value}"
updatedCount++
}else{
println "NOT UPDATING [ [ ${record.value.length()} ] + [${cellVal.length()}]"
}
}
println显示println "UPDATING ${record.value.equals(cellVal)}"
的值为true,在这种情况下我不明白为什么它会通过if语句。另外,字符串的长度为0.
我可以得到第二双眼睛并弄清楚为什么真正的价值会通过这个if语句?
答案 0 :(得分:4)
答案 1 :(得分:3)
下面:
record.value = cellVal
您已将record.value设置为if
块内的cellVal。这就是println
返回true的原因。
答案 2 :(得分:2)
(true == false) ⇒ false
答案 3 :(得分:2)
println显示if语句中第1行的真正becoz
record.value = cellVal
尝试在if语句之前打印相同的值。
答案 4 :(得分:0)
if - > record.value.equals(cellVal)给你假 你比较(假)==假,自然假总是=假,因此它会通过
2,看看你的代码,
record.value = cellVal
record.modifyUser = userId
// dataService.updateManualEntry(记录)
println“UPDATING $ { record.value.equals(cellVal)}”
在执行打印之前,请指定record.value = cellVal。 因为它会打印出来。