一、问题描述
- 异常信息
错误很明显,List 无法转换成其它类型对象
- 代码爆发处
二、代码原因
- 原因:传入实际参数为List
本来希望传入一个Map作为参数,但传入的exampleEntity其实是一个List:
findList([“id”,“xxx”])
groovy对map([:])的定义与list([])相近,特别容易弄错
- 更改:逗号改为冒号
findList([“id”:“xxx”])
调用了期望的方法
注:本来进入这个方法时,就应该发现参数不对,
但那天状态不对,
加上写了几个月Groovy,发现似乎对类型的匹配不怎么严谨了,
Groovy也不报错,确实是个要注意的地方
三、疑问
- 为什么会允许调用
因为参数类型为 Object
这里卡了我挺久的,因为我先入为主认为List是查询出来的结果集,想不通为什么List会去转换成一个对象, 还是同事帮忙看了一眼,瞬间打通二脉,感谢xinbing