For loop for循环超出比较限制

For loop for循环超出比较限制,for-loop,groovy,For Loop,Groovy,这感觉很愚蠢,但这段代码有什么问题?我的for循环运行到55 def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def holder = groovyUtils.getXmlHolder("StepName#ResponseAsXml") def cnt = holder["count(//Results/ResultSet/Row)"] log.info "Row count is: " + cnt

这感觉很愚蠢,但这段代码有什么问题?我的for循环运行到55

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder("StepName#ResponseAsXml")

def cnt = holder["count(//Results/ResultSet/Row)"]
log.info "Row count is: " + cnt

for(int i = 1; i<=cnt; i++){
    x = x + 1
}

log.info "Loop ran for: " + x
cnt变量的类型为字符串7。ASCII数字值7是55,这就是循环计数高达54的原因

请尝试以下操作:

for(int i = 0; i<(cnt as int); i++){
    println "At row: " + i.toString()
}
cnt变量的类型为字符串7。ASCII数字值7是55,这就是循环计数高达54的原因

请尝试以下操作:

for(int i = 0; i<(cnt as int); i++){
    println "At row: " + i.toString()
}

你将x初始化为什么?编辑后:有什么问题?你有55件事,所以你做0,1,…,54件事。这是55件事…您还可以将第+i行的log.info替换为第$i行的log.info,并节省一些输入-我没有55件东西,我只有7件。在运行for循环之前,我还打印了cnt的值,它总是显示7。2013年8月19日星期一13:06:31 ADT:信息:行数:7您将x初始化为什么?编辑后:有什么问题?你有55件事,所以你做0,1,…,54件事。这是55件事…您还可以将第+i行的log.info替换为第$i行的log.info,并节省一些输入-我没有55件东西,我只有7件。在运行for循环之前,我还打印了cnt的值,它总是显示7。2013年8月19日星期一13:06:31 ADT:信息:行计数:7 log语句不应影响变量的类型。看起来com.eviware.soapui.support.XmlHoldergetObject会返回一个对象。您可以在分配变量后立即添加cnt.getClass.getName日志打印,以查看XmlHolder返回的内容。log语句不应该影响变量的类型。看起来com.eviware.soapui.support.XmlHoldergetObject会返回一个对象。您可以在分配变量后立即添加cnt.getClass.getName日志打印,以查看XmlHolder返回的内容。
for(int i = 0; i<(cnt as int); i++){
    println "At row: " + i.toString()
}