0

我有一个返回数据类型“对象”的函数。

public Object myMethod(){}

返回的对象可能是我定义的许多不同对象之一。例如,假设它返回一个 objectX。

调用函数并因此我们返回的地方确实

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() 的返回值转换成那个?

帮助将不胜感激

4

0 回答 0