我有一个服务方法,并且如果方法参数为空/空白或非数字,则必须抛出错误。
调用方正在发送一个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)
但是,如果我们为我们的方法传递看起来像
String
的Integer
,会发生什么情况:assert !isValidInteger('10') // FAILS
我认为最简单的解决方案是使用
instanceof
运算符,所有断言都是有效的:def isValidInteger(value) {
value instanceof Integer
}
关于groovy - 检查Integer是NULL还是groovy中的数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10486252/