我似乎总是需要在params对象中强制转换值以执行.equals
,但它永远不会感觉正确。如果我使用parseXXX
方法,我还必须在值为空时保护自己。看起来有更好的方法来处理像Groovy这样的动态语言。有没有人发现一种不同的方式,感觉更像Groovy而不像Java?我可以构建一个实用程序类来清理它,但我正在寻找一些内置功能,所以请不要建议额外的库。
示例:
def intValue = (params.intValue)? Integer.parseInt(params.intValue) :null
Things.each{ thing ->
if (thing.intValue.equals(intValue)){
//do stuff
}
}
答案 0 :(得分:6)
def intValue = params.int('myparam')
...还有
boolean
,long
,char
,short
等方法。这些方法中的每一个都是空的安全且不受任何解析错误的影响 所以你不必对参数进行任何额外的检查。
答案 1 :(得分:1)
我认为最“Groovy方式”如下:
params.intValue as Integer == thing.intValue