我的代码段如下,并且我想在条件检查的其他部分忽略/删除列表中的值。
offerRecords.remove(tariffOffer)似乎不起作用
offerRecords.each { tariffOffer ->
handsetData.each { hs ->
if (tariffOffer.HANDSET_BAND.stringValue() == hs.HANDSET_BAND?.stringValue()) {
//println 'condition is satisfied and set the handset id ****** '
handset.add(hs.HANDSET_PKEY_ID?.stringValue())
}
if (handset.size() > 0) {
// need to call a method
recHandset = applyHandsetRulesCHL(tariffOffer, handset)
}
else {
// ignore/remove the tariffOffer
offerRecords.remove(tariffOffer) // i know it doesn't serve the purpose
}
最佳答案
只需在处理之前过滤列表:
def filteredList = handsetData.findAll{handset.size() > 0}
并处理过滤后的结果。顺便说一句,我不明白
handset
正文中的each{}
是什么,但是我想你明白了。关于java - 从常规列表中删除特定值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16730738/