0

另一个新手问题。我有一种情况,我必须在 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)
              }

谢谢

4

1 回答 1

0

假设您正在遍历地图,您应该能够使用 bindData,即

bindData( cf, map )

确保您阅读了文档的该部分,因为存在安全隐患

于 2012-08-13T20:30:47.630 回答