javassist创建方法问题

panmingguang 发布于 2013/03/06 17:45
阅读 799
收藏 0
sBuf_update.append("update.setParams("+getMethod+");\r\n");

setParams 方法参数为Object

报错

javassist.CannotCompileException: [source error] setParams(int) not found in webFrame.app.db.query.Query
at javassist.CtBehavior.setBody(CtBehavior.java:446)
at javassist.CtBehavior.setBody(CtBehavior.java:412)

若强制转换

sBuf_update.append("update.setParams((Object)"+getMethod+");\r\n");

报错:

javassist.CannotCompileException: [source error] invalid cast
at javassist.CtBehavior.setBody(CtBehavior.java:446)
at javassist.CtBehavior.setBody(CtBehavior.java:412)
加载中
1
Sub
Sub

应该使用 sBuf_update.append("update.setParams(new Integer("+getMethod+"));\r\n");

因为  javassist 不支持 auto-box 和 auto-unbox 需要手动处理。
0
panmingguang
panmingguang
已解决问题, 不支持泛型, Object类型需细化
返回顶部
顶部