另一个新手问题。我有一种情况,我必须在 groovy 中为域类属性分配一个值。
代码是
cf."$it.key" = it.value
cf."$it.key" 的属性类型可以是 Integer、Long 或 String - 但 it.value 始终是 String。我已经看到当 cf."$it.key" 为 Integer 或 Long 时,groovy 将 it.value 转换为 ascii 值(例如如果 it.value 为 "6",则 cf."$it.key" 变为 54,当它是“7”,它变成 55 等等)。到目前为止,我已经通过引入如下所示的检查方法解决了这个问题。但想知道是否有更好的解决方案。
if (it.value.isInteger()){ cf."$it.key" = new Integer(it.value) } else if (it.value.isLong()){ cf."$it.key" = new Long(it.value) }
谢谢