开发者社区 问答 正文

javassist创建方法问题?报错

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)

展开
收起
爱吃鱼的程序员 2020-06-22 21:29:38 1304 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

    因为  javassist不支持auto-box和auto-unbox需要手动处理。已解决问题,不支持泛型,Object类型需细化
    2020-06-22 21:29:57
    赞同 展开评论
问答分类:
问答地址: