我想知道下面是否有任何更常用的代码方式:
def dataList = OperLog.createCriteria().list(max:params.max, offset:params.offset) {
if(params.relationId){
eq('relationId',params.long('relationId'))
}
order(params.sort, params.order)
}
例如someVar?.someMethod 有什么糖不要称之为params为null的方法
答案 0 :(得分:5)
你可以这样做:
params.relationId?.with { rid ->
println rid
}
如果with
为params.relationId
,则null
块内的代码将不会被执行...
但是,我认为你的原始代码在其意图中更为明显,并且你不必在以后审查它时尝试弄清楚它正在做什么; - )
答案 1 :(得分:0)
这有什么更古怪的风格吗?
def list = [vo1,vo2,vo3]
list.each{
someMethod(it)
}
就像
一样list*.toString()