如何把String变量转化为method?

王者_来归 2014-11-09 12:14:31
如题,如何把一个String的变量内容,转化为可以执行的方法?
需求描述:
通过url解析出前台传递的参数名、参数值,与实际的entity属性对比,如果发现url中的变量名与entity的属性名一样,就把参数值赋给entity的变量,由于entity的变量是私有的,只能通过setXXX或isXXX来处理,这就需要把参数名组装成这种方式,但是组装的方法名是String类型的,如何可以把这个组装的String转化为方法?
如:
String str = "setValue"
如何可以让entity调用?
谢谢!
...全文
439 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
KevinDai007 2014-11-13
  • 打赏
  • 举报
回复
1L正解,赞一个
王者_来归 2014-11-13
  • 打赏
  • 举报
回复
非常感谢各位的回答,非常满意
xuhu_it 2014-11-13
  • 打赏
  • 举报
回复
引用 1 楼 zhangjihao 的回复:

//通过方法名取到方法对象
Method m = XXX.class.getDeclaredMethod("setValue");
//方法执行
m.invoke(obj, args);
王者_来归 2014-11-13
  • 打赏
  • 举报
回复
引用 12 楼 u013887254 的回复:
反射。建议去学一下。
确实,我是半中出家的,之前是搞C++的,后来进公司java序列,我就随便看了2月,就开始弄东西,用到什么不懂的就在网上查,问大家。当然,这些问题我相信还是有不少人不懂的,这也是给菜鸟们一个向大神学习的机会
一旦 2014-11-13
  • 打赏
  • 举报
回复
反射。建议去学一下。
humanity 2014-11-12
  • 打赏
  • 举报
回复
如果 entity 有父类的话,没找到方法时记得去父类找找: obj.getClass().getSuperclass().getDeclaredMethod("setValue");
引用 1 楼 zhangjihao 的回复:

//通过方法名取到方法对象
Method m = XXX.class.getDeclaredMethod("setValue");
//方法执行
m.invoke(obj, args);
  • 打赏
  • 举报
回复
反射获取对象Class.forName(),然后获取方法。
z523714705 2014-11-11
  • 打赏
  • 举报
回复
引用 1 楼 zhangjihao 的回复:

//通过方法名取到方法对象
Method m = XXX.class.getDeclaredMethod("setValue");
//方法执行
m.invoke(obj, args);
厉害
程序袁_哈哈 2014-11-10
  • 打赏
  • 举报
回复
1L正解。。。
熊青峰 2014-11-10
  • 打赏
  • 举报
回复
同意1楼!!!
番茄超蛋 2014-11-10
  • 打赏
  • 举报
回复
java反射
贫道望青楼 2014-11-10
  • 打赏
  • 举报
回复
学习了,变量还能转为方法,,吊炸天
howsun_zh 2014-11-09
  • 打赏
  • 举报
回复

//通过方法名取到方法对象
Method m = XXX.class.getDeclaredMethod("setValue");
//方法执行
m.invoke(obj, args);

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧