如何将“对象”转换为未知的自定义数据类型/类对象?

时间:2020-10-21 21:09:13

标签: java object reflection casting

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

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()的返回值强制转换为该值?

我们将不胜感激

0 个答案:

没有答案