Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails 当不应该通过if语句时,通过该语句的字符串比较_Grails_Groovy - Fatal编程技术网

Grails 当不应该通过if语句时,通过该语句的字符串比较

Grails 当不应该通过if语句时,通过该语句的字符串比较,grails,groovy,Grails,Groovy,我将excel工作表的值与从数据库返回的记录值进行比较,其中一条记录在if语句失败时通过if语句 if语句如下所示: if (record.value.equals(cellVal) == false) { record.value = cellVal record.modifyUser = userId //dataService.updateManualEntry(record) println "UPDATING $

我将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更新${record.value.equalscellVal}的值计算为true,在这种情况下,我不理解它为什么要通过if语句。此外,字符串的长度为0

我能再看一眼,找出为什么真值会通过这个if语句吗?

在将值更改为匹配后,会出现打印错误。

这里:

(true == false) ⇒ false
record.value = cellVal

您已在if块内将record.value设置为cellVal。这就是为什么println返回true。

println在if语句的第1行显示true

record.value=cellVal


尝试在if语句之前打印相同的值。

if->record.value.EqualCellVal为false u compare false==false,自然false总是=false,因此它将通过

第二,看看你的代码

record.value=cellVal

record.modifyUser=userId

//dataService.updateManualEntryrecord

println正在更新${record.value.equalscellVal}

在打印之前,分配record.value=cellVal。
当然,因为它将打印为true。

在完成record.value=cellVal之后,您正在打印更新${record.value.equalscellVal}。在更改之前打印出来,并向我们显示它失败的具体字符串。另外,在打印的值周围加上例如“a”,以便更容易看到空格cellVal的值是多少?这是什么语言?对不起,当然。。。但是分号在哪里?Js?它被标记为grails,所以我假设它是在jvm上运行的groovy