【发布时间】:2013-07-17 04:59:12
【问题描述】:
我想通过java中的反射来调用一个方法。
我手头有我要调用的方法的Method 实例(因此我可以获取其参数的类型),此外,我将这些参数的值作为字符串。
我假设所有参数都必须是原语。
例如,如果我想调用以下方法:
public static double calc(int a, double b, String op){...}
我将参数作为字符串数组:
String[]: {"25", "34.45", "add"}
那么,如何将这个 String 数组转换为包含 (int, double, string) 的数组? 我知道我可以遍历所有原始类型并尝试解析每种类型的值......有没有更简单的方法?类似于“通用解析”方法。
【问题讨论】:
-
通用解析!您的要求根本不通用,将每个元素解析为不同的数据类型不通用!
-
你说得对,我提到反射只是为了说明我想做的动机。
-
没有这样的东西,至少标准实现。但是您可以轻松地制作自己的:知道方法,找出参数类型,然后在循环中根据所需的参数类型解析字符串表示。
-
没有“将字符串转换为 [a] 原始类型”之类的东西。你必须转换。
标签: java reflection casting