我可以使用字符串变量作为数据类型在java中创建其他变量吗

我可以使用字符串变量作为数据类型在java中创建其他变量吗,java,reflection,Java,Reflection,我使用反射调用方法,如下所示: method.invoke(someObject, null); 问题是,我想使用这个方法返回的值,而不需要事先知道它的数据类型。我知道字符串变量中的数据类型,比如 String type = "String"; 有可能做类似的事情吗- type variable = method.invoke(someObject, null) 使用instanceof检查对象类型 Object o = method.invoke(...); if(o instanceo

我使用反射调用方法,如下所示:

method.invoke(someObject, null);
问题是,我想使用这个方法返回的值,而不需要事先知道它的数据类型。我知道字符串变量中的数据类型,比如

String type = "String";
有可能做类似的事情吗-

type variable = method.invoke(someObject, null)

使用
instanceof
检查对象类型

Object o = method.invoke(...);
if(o instanceof Integer) {
    // Integer logic...
}
if(o instanceof YourType) {
    // YourType logic...
}
// and so on

也许这样的东西对你有用:

if(type.equals("String"){
    String o = (String) returnedObject;
} else if(type.equals("Integer")){
    Integer o = (Integer) returnedObject;
}

但我建议不要走这条路。必须有更好的方法来达到你想要的结果。

你到底想达到什么?为什么不将其返回到
对象
?我想执行特定于类型的操作。例如,如果它是一个整数,我将检查它是否小于0。如果只是对象数据类型,我将如何实现这一点?关于
myObject.equals(Integer.valueOf(0))
?您必须了解对象的一些信息,否则您如何知道通过反射调用什么方法?我相信这里已经问过这个问题:有没有非if方法可以做到这一点?我也有同样的感觉。