我有一个服务方法,并且如果方法参数为空/空白或非数字,则必须抛出错误。

调用方正在发送一个Integer值,但是在被调用方法中如何检查它是数字还是null。

前任:

def add(value1,value2){
 //have to check value1 is null/blank
 //check value1 is numeric

}

caller: class.add(10,20)

周围的任何建议,将不胜感激。

最佳答案

answer of Dan Cruz相比,您可以使用 String.isInteger() 方法更具体:

def isValidInteger(value) {
    value.toString().isInteger()
}

assert !isValidInteger(null)
assert !isValidInteger('')
assert !isValidInteger(1.7)
assert isValidInteger(10)

但是,如果我们为我们的方法传递看起来像StringInteger,会发生什么情况:
assert !isValidInteger('10')  // FAILS

我认为最简单的解决方案是使用instanceof运算符,所有断言都是有效的:
def isValidInteger(value) {
    value instanceof Integer
}

关于groovy - 检查Integer是NULL还是groovy中的数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10486252/

10-12 16:17