反射调用方法,传参数的问题

鸣鸣Amadues SAP 应用开发  2021-05-09 10:04:48
Method meth = clazz.getDeclaredMethod("process", Map.class, String.class);

像这样的调用,虽然方法是动态调用的,但是传几个参数和参数的类型,依然是写死的,这两个能不能动态指定?
比如说,设置第一个参数是什么类型,第二个参数是什么类型这样的
...全文
168 点赞 收藏 6
写回复
6 条回复
鸣鸣Amadues 05月11日
可以用Class和Object的数组,这样就可以动态给参数了
回复 点赞
maradona1984 05月10日
你想反了,既然想统一的调用方式,那就参数传什么你就执行什么,你完全不需要写死代码,或者说 Method meth = clazz.getDeclaredMethod("process", Map.class, String.class); 这段代码本身就是允许你传各种参数的么?
回复 点赞
鸣鸣Amadues 05月10日
对于不同的方法,想用统一的调用方式,因为参数的个数和类型都是不同的,所以想写一个通用的方法
回复 点赞
nayi_224 05月10日
具体要实现什么样的功能?举个例子
回复 点赞
鸣鸣Amadues 05月10日
引用 3 楼 maradona1984 的回复:
你想反了,既然想统一的调用方式,那就参数传什么你就执行什么,你完全不需要写死代码,或者说 Method meth = clazz.getDeclaredMethod("process", Map.class, String.class); 这段代码本身就是允许你传各种参数的么?
我举的这个例子是写死的,两个参数,一个是MAP,一个是String,就是想找不是写死的例子
回复 点赞
nayi_224 05月10日
public Method getDeclaredMethod(String name, Class<?>... parameterTypes)
这难道不是一个通用的调用方式传各种参数的经典例子?
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告