java 传参给groovy_将def变量传递给Groovy中的类型化BigDecimal参数

我是Groovy的新手,所以我对该语言的运行时绑定,类型化和非类型化属性感到困惑 . 我个人更喜欢声明类型 .

但是,我有一个问题 .

我有一个小方法,从 Map ,输入,等等,我知道数字的变量 . 假设我不知道初始类型是什么(它在代码深处或者来自外部源),另一种是它是一个数字 . 现在我有一个方法,它接受其中两个参数,我必须对它们进行模运算 . 因为它们可能是十进制的,所以我使用BigDecimal的其余部分编写了一个小方法,以强制执行我在方法签名上使用类型BigDecimal的类型 .

def callerMethod(Map map) {

...

map.each{

calledMethod(it.val1, it.val2)

...

}

...

}

def calledMethod(BigDecimal val1, BigDecimal val2) {

...

vl1.remainder(val2)

...

}

它是否正确?如果传入的参数是Integer(大部分时候如果我正确地理解了基元的基元),它是否会被隐式转换或变成BigDecimal?

这在Groovy中如何工作 .

我仍然认为,因为我可以选择使用类型,我想使用它们而不是声明一切def . 如果您阅读已有的代码,它还可以更轻松地读取代码或查看内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值