我有一个返回数据类型为“对象”的函数。
public Object myMethod(){}
返回的对象可能是我定义的许多不同对象之一。例如,假设它返回一个objectX。
调用函数的地方,因此我们返回到dos
objectX tmp = methodThatReturnsSomeObject();
这很好。无论我返回什么对象,只要我将返回的对象都转换为正确的对象即可。在这种情况下:
objectX tmp = (objectX)methodThatReturnsSomeObject();
我的问题是,此功能正在发生大量反射的环境中使用。使用
遍历类的所有属性Field[] atts = differentObj.getClass().getDeclaredFields();
att[i].set(differentObj, val);
//where val is (TYPE of att)methodThatReturnsSomeObject()
我不一定知道tmp是什么样的对象,因为在迭代的不同点它可能是int,String或另一个自定义对象。
有什么办法可以说“无论当前的tmp类是什么,都将methodThatReturnsSomeObject()的返回值强制转换为该值?
我们将不胜感激