def findFdrsWithMaturityYear(year){
def fdrs = Fdr.findAll()
def foundFdrs = new ArrayList<Fdr>()
def foundYear
fdrs.each {
foundYear = DateUtils.getYearFromDate(it.maturityDate)
if (year.toString() == foundYear.toString()){ // line 7
foundFdrs.add(it) // line 8
}
}
return foundFdrs
}
Ci-dessus est le code groovy. Je le débogue avec intellijidea 11, quand j'atteins la ligne n ° 7, j'ai trouvé que même si la condition est fausse, elle passe à la ligne 8, mais la liste foundFdrs ne grossit pas car elle ajoute un élément dans la liste. J'utilise ce code dans une application Web Grails, chaque fois que j'exécute cette application Web, j'obtiens la liste foundFdr vide même si la condition à la ligne 7 est vraie. J'ai également testé le code ci-dessus en créant un test d'intégration de grails, le test réussit, c'est-à-dire que j'obtiens la liste foundddrs avec certains éléments, mais pas dans mon application grails, où est le problème?Si la condition est exécutée, elle est fausse?
Pourquoi ne pas ajouter une instruction println dans la clause if? Nous pouvons voir si la variable 2 est vraiment égale ou non. –