开发者社区> 问答> 正文

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 1216 0
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
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载