Java:将字符串动态转换为原始类型

标签 java reflection casting

我想在 java 中通过反射调用一个方法。

我手头有 Method我要调用的方法的实例(因此我可以获得其参数的类型),此外,我将这些参数的值作为字符串。

我假设所有参数都必须是原语。

例如,如果我想调用以下方法:

public static double calc(int a, double b, String op){...}

我将参数作为字符串数组:

String[]: {"25", "34.45", "add"}

那么,如何将这个 String 数组转换为包含 (int, double, string) 的数组? 我知道我可以遍历所有原始类型并尝试解析每种类型的值......有更简单的方法吗?类似于“通用解析”方法。

最佳答案

您不应该遍历所有原始类型并尝试解析每种类型中的值。

您应该从 Method 实例中获取每个参数的类型,并根据参数的类型调用适当的方法将 String 转换为所需的类型:Double。 double (Double.TYPE) 的 valueOf(),int (Integer.TYPE) 的 Integer.valueOf()

关于Java:将字符串动态转换为原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17720146/

相关文章:

java - Java运行时如何获取变量声明的类型?

c# - 迭代对象列表时避免多个 "if"语句 c#

ios - swift : Cast wrapped value

java - Jsoup的select返回集合而不是数组

java - 使用点分隔字符串访问(私有(private))成员

java - IntelliJ 的 Maven 模块 View 中的第二个根模块

python - 绑定(bind)方法上的装饰器可以访问类及其祖先

postgresql - 如何将 varchar 转换为 bool postgresql

java - 从 Android 中提取短信

java - 选择与 EJB3 冲突