加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Groovy中检查Integer是否为Null或数字?

发布时间:2020-12-14 16:21:08 所属栏目:大数据 来源:网络整理
导读:我有一个服务方法,如果方法参数为null / blank或不是数字,则必须抛出错误. 调用者发送一个Integer值但在被调用方法中如何检查它是数字还是null. 例如: def add(value1,value2){ //have to check value1 is null/blank //check value1 is numeric}caller: cl
我有一个服务方法,如果方法参数为null / blank或不是数字,则必须抛出错误.

调用者发送一个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)

但是如果我们为我们的方法传递一个看起来像Integer的String会发生什么:

assert !isValidInteger('10')  // FAILS

我认为最简单的解决方案是使用instanceof运算符,所有断言都是有效的:

def isValidInteger(value) {
    value instanceof Integer
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读